SwiftでPromiseライブラリを使ってみよう
さて、前回から引き続きSwiftでのPromiseライブラリについて見ていきたいと思います。
今回はPromiseライブラリのSwift界隈で有名な PromiseKit について見ていきます。
PromiseKitのインストール
早速、 PromiseKit の導入について紹介します。
筆者の場合、Xcode7.3を利用しているため、Swift2.2を扱うことになります。
GitHubで紹介されている下記の導入方法では 2.2.1 がインストールされます。
しかし、このバージョンはSwift2.2に対応していないため、エラーが発生します。
1 2 3 |
|
PromiseKitの公式ドキュメントページを見ると、Newsの項目でバージョン 3.1.0 でSwift2.2に対応したと書かれています。
そこで、今回は、
1 2 3 |
|
とすることで、Xcode7.3でも問題なく、PromiseKitを扱えるようにしました。
PromiseKitで非同期処理を直列に書いてみよう
前回のBrightFutureで紹介した処理をPromiseKitで書いてみようと思います。
まずは、非同期処理をPromiseKitを使って定義します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
では、これを呼び出してみましょう。
1 2 3 4 5 |
|
ネストが浅い状態で複数の非同期処理を書くことができました。
また、BrightFutureと大きな違いはなく書くことできました。
PromiseKitで非同期処理を並列に書いてみよう
続いて、複数の非同期処理を並列に実行する場合を考えてみます。
順番に処理をする必要がなく、処理が完了したものから反映していきたい場合などに使いますね。
非同期処理自体は先程と同じものを使います。
では、並列に処理を呼び出してみましょう。
1 2 3 4 5 6 7 8 9 |
|
先に書いた直列処理では、1秒間隔でログが出力されたかと思います。
ここでは同時に実行したため、ほぼ同時に3つのログが出力されたはずです。
さて如何だったでしょうか?
SwiftでもPromiseライブラリはたくさん出てきました。
BrightFuture, PromiseKit, SwiftTaskのいずれを利用するかは開発者の判断になるかと思います。
個人的にはPromiseKitはGitHub上に似た名称のブランチがたくさんあるのをどうにかして欲しいなと思ってたりします笑
また、時間があるときにPromiseを使って何かやりたいと思います。
と言ったところで本日はここまで。