非同期呼出しパターン

非同期呼出しですが、

  • 別スレッドに仕事を依頼しておしまい。

ってのならいいのですが、しぱしば続きの処理が必要になります。 Web API を呼んで、結果を使わないなんて、ないですからね。 (まあ、クラウドにデータをあげる時は「結果」なんて「ない」気もしますが、でも「成功したかどうか」は欲しいですよね。)

ってことで、今回は二つのパターンを紹介します。

  • Future: 別スレッドに仕事(タスク)を依頼して、あとで結果を回収して続きを実行

    • タスクを依頼した後は、自分は別のことをしたり、別のタスクを依頼して OK
    • タスクの終了確認をしたり、結果を取り出すための「チケット」を Future といいます。
  • Callback: 仕事を依頼する際に、終わったら実行して欲しい処理 (callback) も登録する

    • 自分では続きの処理をせず、仕事完了時に勝手に callback が実行される

patterns.png