2017-01-24 30 views
0

誰かがBehaviorSubjectのカスタム実装を知っていて、加入者がそれを消費したら最後の値を破棄しますか?放射後に最後の値を削除するBehaviorSubject

なぜこのような実装は悪い考えですか?

私は問題を回避このようにハッキング
+0

なぜBehaviorSubjectを使用しているのかは、代わりにPublishSubjectを使用します。 –

+0

私は加入者があるまで価値を残したいと思っています。 –

+0

複数の同時加入者はどうですか?到着時にすべて同じ値を受け取るようにしますか?単一のサブスクライバは多くの値を消費できますか、アイテムを取得した直後にサブスクライブを解除できますか? –

答えて

0

<T> Observable<T> discardOnceDelivered(BehaviorSubject<T> subject) { 
    return subject.filter(t -> t!=null).doOnNext(inputFields -> subject.onNext(null)); 
} 

(Rxの1.xで)唯一の制限はnull値が有効な放射された値として受け入れられていないことである、むしろ廃棄の動作を符号化するために使用最後の値。

関連する問題