ある時はいつでも観察可能でください、私は次の意味を持つのRxオペレータを探しています:Rxのオペレータ:その他の観察からの最新の値がtrue
Observable<int> inputValues = …;
Observable<bool> gate = …;
inputValues
.combineLatest(gate)
.filter((pair<int, bool> pair) -> { return pair.second; })
.map((pair<int, bool> pair) -> { return pair.first; });
から最新値ながら、それは最初の観察可能から値を発します2番目の観測可能な値はtrue
です。 combineLatest
を使用すると、2番目のObservable がtrue
になったときに値が取得されます。それが望ましくない場合はcombineLatest
の代わりにwithLatestFrom
を使用できます。
この演算子は(どのRx実装でも)存在しますか?
私はそれを感謝!そして、翻訳する必要はありません;)私たちのソリューションは、 'inputValues'がリプレイの主題である場合、異なる動作をします。 'gate'が' true'になるたびに、あなたのバージョンは 'inputValues'から以前の値を再生します。私が購読すると、その時点で 'gate'が' true'であるときだけ、私はそれらを再生します。あれは正しいですか? – basteln
@basteln - '.Publish'を付けると、その動作を防ぐことができます。私はそれをあなたに見せてくれるでしょう。 – Enigmativity
すごい!それでは、全体の行動をカバーする演算子がないのでしょうか?この実装を使用して作成します。 – basteln