ну шо там, зрада підкралася непомітно?
Ну при чем мер Львова к Яворову? Ну вот лишь бы ляпнуть, а там уже пусть разбираются сами. «Я так помню»
Мне кажется
Да, вы невнимательно его слушали
Навальный уже сбитый лётчик
Мадам политолог? )
Ну так Навальный, к примеру, поддерживает аннексию Крыма. Там сильные имперские амбиции. Даже если сменится президент, амбиции никуда не денутся
Опасно свои розовые мечты выдавать за реалистичную ветку истории
Арестович говорил о двух-трех войнах с расией, с периодом
на DOU это уже классическая комедия — человек с глубокими нравственными императивами для украинских разработчиков оказывается безнадежным «уехом»
Да, достойно
да, peace, friendship все дела ) еще раз спасибо за труд
а насчет промисов: ну да, это все одно и то же. если копаться до кишок, то и промисы, и асинк/авейты — все равно реализованы на коллбеках, которые старательно упрятали. Но! Промисы — это монады, и они гениально ложатся в общую парадигму функционального программирования. Это было во-первых. А во-вторых: перемудрили они с контекстом. Вот в том примере ^^ с
primaryAction
у кнопки — я могу там запустить тело промиса на исполнение. А здесь у них всплывает трудно понимаемая абстракция контекста, о которой я должен «помнить». Тогда как в промисах неявную, но очевидную роль этого контекста выполняет синтаксис каскадирования промисов
.then {} .then {}
Но я не спорю, это все мое глубокое ИМХО
согласен, по-разному называют
та я ж не спорю. не все могут смотреть вглубь веков )
Ну только это не binding, а наверное conditional unwrapping :)
по поводу SwiftUI тут много занимательного было: youtu.be/UZXKWVbvfE4
спасибо
Кто-то из создателей Свифта в одном из подкастов напрямую говорил, что есть намерение затащить в Свифт из жабаскрипта синтаксис «async/await». Потом прошла инфа, что SwiftUI создан, чтобы затащить побольше жабаскриптеров в экосистему Аппле. Не моя мысль — написал, что сам читал и слышал.
Как-то так с промисами:
gist.github.com/...14209e1072e9524b1d29c396e
private func fetchData() -> Promise<[Int]> { return Promise { seal in let someData = (1...100_000).map { _ in Int.random(in: (1...100)) } seal.fulfill(someData) } } private func calculateMinMax(forData array: [Int]) -> Promise<(Int, Int)> { return Promise { seal in guard let first = array.first else { seal.reject(DataError.emptyArray) return } var min = first var max = first for item in array.dropFirst() { if min > item { min = item } if max < item { max = item } } seal.fulfill((min, max)) } } private func updateUI(with data: (Int, Int)) -> Promise<Void> { return Promise { seal in self.textLabel.text = "min is \(data.0), max is \(data.1)" seal.fulfill(()) } } private func doJob() { fetchData() .then { array in self.calculateMinMax(forData: array) } .then (on: .main) { (min, max) in self.updateUI(with: (min, max)) }.catch { error in print(error.localizedDescription) } }
Хтось активно вкладався і продовжує інвестувати у криптовалюту попри її значне падіння
Не «попри», а «завдяки»