Observable.FromAsyncPattern

非同期処理をIObservableに変換するには、Observable.FromAsyncPatternを使う。

Observable.FromAsyncPattern Method (System.Reactive.Linq) | Microsoft Docs
Reactive Extensions入門 6「非同期呼び出しの終わりを監視する」 - かずきのBlog@hatena

3秒後に2乗した値を返すデリゲート。

Observable.FromAsyncPattern 1
Observable.FromAsyncPattern 4
Observable.FromAsyncPattern 5
Observable.FromAsyncPattern 2
Observable.FromAsyncPattern 6
Observable.FromAsyncPattern 9

最初、

Observable.FromAsyncPattern 1
Observable.FromAsyncPattern 4
Observable.FromAsyncPattern 5
Observable.FromAsyncPattern 2
Observable.FromAsyncPattern 6
Observable.FromAsyncPattern 9
Observable.FromAsyncPattern 3
Observable.FromAsyncPattern 7
x = 4
Observable.FromAsyncPattern 8

3秒後にこうなり、

Observable.FromAsyncPattern 1
Observable.FromAsyncPattern 4
Observable.FromAsyncPattern 5
Observable.FromAsyncPattern 2
Observable.FromAsyncPattern 6
Observable.FromAsyncPattern 9
Observable.FromAsyncPattern 3
Observable.FromAsyncPattern 7
x = 4
Observable.FromAsyncPattern 8
続行するには何かキーを押してください . . .

キーを押すとこうなる。
非同期処理が終わったら、値が通知される。

Sample/rx/Observable/FromAsyncPattern/src/Observable_ at master · bg1bgst333/Sample · GitHub