IObservable <T>からタスクへ

サンティアゴセロンウリベ

だからケースはこれです。どこかでコレクションを埋めているとします。要素が追加されるたびに、IObservableはサブスクライバーに対してOnNextを呼び出します。

さて、コレクションがいっぱいになるポイントがあります。(私は何かを読んでいて、読み終えました..何でも)。その時点で、OnComplete()がサブスクライバーで呼び出されます。

ただし、ユーザーはこの方法を順守しません。彼はむしろ彼が待つ非同期メソッドを呼び出すでしょう...彼は彼が読んだものについてはあまり気にしません、彼はただ彼が読み終えたことを気にします。

したがって、基本的には、IObservableから、IObservableがOnComplete()をサブスクライバーに呼び出したときに戻るタスクが必要です。特に、ユーザーがオブザーバーを使用しないようにしたいのですが、待機呼び出しの後に発生することはすべて、コレクションがいっぱいになった後に発生することを知って満足しています。

たぶんToTask()メソッドがトリックをしますか?ドキュメントでは本当にわかりません。

ネッド・ストヤノフ

Rx 2.0以降を使用している場合await IObservableは、オブザーバブルの最後のアイテムを返すことができます。つまり、オブザーバブルが完了した後です。

var lastItem = await myObservable;

これが可能なのは、Rx 2.0でGetAwaiter拡張メソッドIObservableが追加され、awaitオブザーバブルが可能になったためです。待機する要素を指定できる便利な拡張メソッドもいくつかあります。

ここにそれについての素晴らしいブログがあります

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Turn an IObservable<IEnumerable<T>> into an IEnumerable<IObservable<T>>

分類Dev

linqクエリを使用したIObservable <T>

分類Dev

IObservable <IEnumerable <T >>は本当にIObservable <T>である必要がありますか?

分類Dev

IObservable <IEnumerable <T >>을 IEnumerable <IObservable <T >>로 변환

分類Dev

Spit IObservable<T> exceptions in a separate IObservable<Exception> and continue normally

分類Dev

IObservable <T>をIObservable <IObservable <T >>に分割します

分類Dev

Converting a IEnumerable<T> to IObservable<T>, with maximum parallelism

分類Dev

IObservable <T>からデータグリッドを自動的に更新する方法

分類Dev

IObservable <T>をIAsyncEnumerable <T>に変換することは可能ですか?

分類Dev

IObservable <T> .ToTask拡張メソッドはどこにありますか?

分類Dev

IObservable<Task<T>> を順序保持で IObservable<T> にアンラップする

分類Dev

IObservableを上から排出します

分類Dev

IObservable.Subscribe(IObserver <T>オブザーバー)オーバーロードとは何ですか?

分類Dev

IEnumerable <T>やIObservable <T>のようなプッシュベースの構造とプルベースの構造の違いは何ですか

分類Dev

IObservable <int>を使用してIObservable <T>をさまざまな長さのIObservable <T []>にセグメント化する方法

分類Dev

Func <T>に基づいてIObservable <T>をチャンクにウィンドウ/バッファリングする方法

分類Dev

IObservable <T>例外を別のIObservable <Exception>に吐き出し、通常どおり続行します

分類Dev

How can I make an IObservable from a queue, so that the sequence doesn't end when the queue is empty?

分類Dev

SignalRから共有IObservableを消費する

分類Dev

IObservableから最新のメッセージを取得する

分類Dev

最大の並列処理でIEnumerable <T>をIObservable <T>に変換する

分類Dev

例外処理を除いて、IEnumerable <Task <T >>をIObservable <T>に変換します

分類Dev

IObservableの無効なキャスト、ランタイム例外

分類Dev

カスタムEventHandlerをIObservableに変換する

分類Dev

IObservableからIEnumerableに変換するリアクティブ拡張

分類Dev

IObservableからIEnumerableに変換するリアクティブ拡張

分類Dev

タスクを順番に実行し、結果をIObservableに入れる方法

分類Dev

1つのボタンで複数のIObservableを調整する

分類Dev

IObservable <byte []>変換

Related 関連記事

  1. 1

    Turn an IObservable<IEnumerable<T>> into an IEnumerable<IObservable<T>>

  2. 2

    linqクエリを使用したIObservable <T>

  3. 3

    IObservable <IEnumerable <T >>は本当にIObservable <T>である必要がありますか?

  4. 4

    IObservable <IEnumerable <T >>을 IEnumerable <IObservable <T >>로 변환

  5. 5

    Spit IObservable<T> exceptions in a separate IObservable<Exception> and continue normally

  6. 6

    IObservable <T>をIObservable <IObservable <T >>に分割します

  7. 7

    Converting a IEnumerable<T> to IObservable<T>, with maximum parallelism

  8. 8

    IObservable <T>からデータグリッドを自動的に更新する方法

  9. 9

    IObservable <T>をIAsyncEnumerable <T>に変換することは可能ですか?

  10. 10

    IObservable <T> .ToTask拡張メソッドはどこにありますか?

  11. 11

    IObservable<Task<T>> を順序保持で IObservable<T> にアンラップする

  12. 12

    IObservableを上から排出します

  13. 13

    IObservable.Subscribe(IObserver <T>オブザーバー)オーバーロードとは何ですか?

  14. 14

    IEnumerable <T>やIObservable <T>のようなプッシュベースの構造とプルベースの構造の違いは何ですか

  15. 15

    IObservable <int>を使用してIObservable <T>をさまざまな長さのIObservable <T []>にセグメント化する方法

  16. 16

    Func <T>に基づいてIObservable <T>をチャンクにウィンドウ/バッファリングする方法

  17. 17

    IObservable <T>例外を別のIObservable <Exception>に吐き出し、通常どおり続行します

  18. 18

    How can I make an IObservable from a queue, so that the sequence doesn't end when the queue is empty?

  19. 19

    SignalRから共有IObservableを消費する

  20. 20

    IObservableから最新のメッセージを取得する

  21. 21

    最大の並列処理でIEnumerable <T>をIObservable <T>に変換する

  22. 22

    例外処理を除いて、IEnumerable <Task <T >>をIObservable <T>に変換します

  23. 23

    IObservableの無効なキャスト、ランタイム例外

  24. 24

    カスタムEventHandlerをIObservableに変換する

  25. 25

    IObservableからIEnumerableに変換するリアクティブ拡張

  26. 26

    IObservableからIEnumerableに変換するリアクティブ拡張

  27. 27

    タスクを順番に実行し、結果をIObservableに入れる方法

  28. 28

    1つのボタンで複数のIObservableを調整する

  29. 29

    IObservable <byte []>変換

ホットタグ

アーカイブ