タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

gcdとasyncに関するclavierのブックマーク (2)

  • Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました - Qiita

    以前書いた記事「Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数」の反響が思っていたよりあったのでもう少し改良してみることにしました。 そうしたところ、不便だった点が解消され実用に足るものになったと思いますのでライブラリにして公開してみました。 以前の記事では parallel 関数だけだったのですが、それだけではさみしいので seriesと waterfall 関数も追加しています。 なにができるのか? Web API リクエストなどの非同期処理を複数同時に行い、すべてが終わったらそれぞれの非同期処理の結果を使って別の処理をさせたい、ということはよくあると思います。 しかしこれを実装するためには、すべての非同期処理が終わったことを判定する変数を用意したり、GCDを使用したりする必要があり、なかなかきれいにコードを書くことができません。 このライブ

    Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました - Qiita
  • Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数 - Qiita

    改良したものをライブラリとして公開しました。 Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました 非同期処理を並列に実行させてすべてが終わったら別の処理を行う、ということをしたいとき、GCDのgroupを使う方法があります。 ただ、毎回GCDのコードを書くのは美しくないですし、やり方を忘れてしまいがちです。 そこで新しく parallel という関数を作りました。 JavaScriptの非同期処理を扱うライブラリ "async" にあるparallel関数を参考にしています。 Quick Example parallel( [ { done in done("1") }, { done in done("2") } ]) { results in print(results) // -> [Optional(1), Optional(2)] } let process

    Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数 - Qiita
  • 1