Upgrade to Pro — share decks privately, control downloads, hide ads and more …

次世代の非同期処理はこうやって使い分ける!

 次世代の非同期処理はこうやって使い分ける!

Swiftを使っているみなさんなら非同期処理というとGCDやRxSwift、そしてSwift5で実現されるかもしれないasync/awaitを想像するかと思います。
async/awaitが現実に近づいてきた今どの方法で非同期処理を実装するべきか、Rxのstreamが欲しいケース、Promiseが欲しいケース、私の考えるそれぞれの使用シーンを説明します。

yutaabe200

March 19, 2019
Tweet

More Decks by yutaabe200

Other Decks in Programming

Transcript

  1. ࣍ ੈ ୅ ͷ ඇ ಉ ظ ॲ ཧ ͸

    ͜ ͏ ΍ ͬͯ ࢖ ͍ ෼ ͚ Δ ʂ             5 3 :   4 8 * ' 5  1 3 &  5" - , 4       : 6 5"  " # &
  2. 8

  3. 14

  4. 18 func fetchAdminUser(uid: String) { self.loginGateway .fetchAdminUser(uid: uid) .subscribe( onNext:

    { [weak self] adminUserEnitites in // do something }).disposed(by: self.disposeBag) } ͜ΕɺಡΉͷʹͲΕ͘Β͍͔͔Δʁ
  5. 19 func fetchAdminUser(uid: String) async { let entities = await

    self.loginGateway.fetchAdminUser(uid: uid) } ͜͏ͳΒͲ͏ʁ
  6. 20 func fetchAdminUser(uid: String) async { let entities = await

    self.loginGateway.fetchAdminUser(uid: uid) } ͜͏ͳΒͲ͏ʁ
  7. 21 func fetchAdminUser(uid: String) async { let entities = await

    self.loginGateway.fetchAdminUser(uid: uid) } ͜͏ͳΒͲ͏ʁ