u16suzuの blog

u16suzu のブログです。

複数の非同期処理や非同期処理内で場合分けする場合に便利な Deferred について

Deferredとは?

元ネタはjsからきた. 既存では非同期処理において完了,未完了の場合ごとにBlock実行をするというアイディアだったが そうはせずに, 完了,未完了の状態を持ったDefferedオブジェクトを即座に返すと言う方針.

Defferedオブジェクトは完了もしくは未完了の状態になると登録したコールバックが実行される. オブジェクトが返るのでメソッドチェインでつなげられて 複数の非同期処理が扱いやすい.

以下のケースで有用

  • 非同期処理が複数ある場合

  • 非同期処理中に場合分けする場合

この記事がとてもよい : http://qiita.com/saiten/items/c2ac4df40ad001179afa

多言語の概念が流入するケースが多いので, Objc以外の言語を学ぶこともあながち間違いではない.

参考 http://qiita.com/saiten/items/c2ac4df40ad001179afa http://qiita.com/mokemokechicken/items/72cf7bd25033d3aa0104