2011-12-10 10 views
12

オブザーバブルの実行が開始された後に異なる時間にサブスクライブする複数のサブスクライバを持つDistinctUntilChangedを呼び出すホット観測可能なイベントがありますその最初の価値を生み出しました。加入者は私のクラスのプロパティを通じてIObservableを取得します。サブスクライブでホット観測可能な最新の値を提供するには

私はどのようにして誰かが観測値を購読するたびに、最後に公開された値を取得しますが、観測可能値は正常に機能するようにしますか?私はPublishLastを探しているかもしれないと思うが、他の副作用があるかどうかはわからない。

類似した質問How do I get an IObservable to push the newest value upon subscription?これは非常によく似た質問ですが、それは1年以上前のことです.Rxに多くの追加が加えられたので、BehaviorSubjectに頼るのではなく、組み込みの関数があると思います正確な複製です。

編集:Here is私が実際にやろうとしていること。私が話している実際の観測可能なシーケンスの下にはコメントがあります。

+0

をチェックアウト被験者のそれぞれを理解することが

​​3210

?彼らはあなたが探しているように正確に行います。 –

答えて

8

その他の回答は近いです。あなたはReplaySubject(1)、すなわちリプレイ1の値だけを必要とするか、またはBehaviorSubjectが必要です。違いは、動作のSubjectはデフォルト値が必要です。これにより、加入者は常にすぐに価値を得ることができます。 `Publish`と連動質問から` BehaviorSubject`は十分に「ビルトイン」ではありませんなぜあなたは明確にすることができ、私のIntro to Rxポスト

関連する問題