yasushicohiのやんややんや

記事にするまでもないつぶやき、ありふれた想い、TIL。ブログ: https://yasushicohi.com

TIL 2020/01/26 コルーチンメモ

https://qiita.com/k-kagurazaka@github/items/8595ca60a5c8d31bbe37

非同期処理、RxJava、Coroutineそれぞれ違うので。 promiseパターンも押さえておこう。

中断可能な計算インスタンス

launchかasyncのビルダーを使う。

launch

launch の引数のラムダは suspend 修飾子付きの中断ラムダ(suspending lambda)なので、中で中断関数を呼び出すことができます。戻り値は Job インターフェースで、coroutineの実行をキャンセルしたり、完了まで中断したりできます。

async

launch と異なり値を返すことができるcoroutineを生成します。戻り値の型は Deferred で、中断関数である await を呼び出すとそのcoroutineの結果を受け取ることができます。

それに、CoroutineContextである、UIかCommonPoolを渡して実行。

Jobインターフェイスで返ってくる? cancel()?