の順序に基づいてbool
の観察可能なシーケンスを、アクションを実行します空にすることもできます)。私は値自体に興味がなく、むしろtrue
の値の順に興味があります。 a0
がtrue
であれば、その後、a2
がtrueであり、最終的にはa1
、私はいくつかのアクションを実行したいと思います:は、私は3つ(またはそれ以上)を持って観察可能なシーケンス内のイベント
(a0, a2, a1) => ...do something...
しかしtrue
値が別の順に表示された場合、私は他の何かをしたいと思います:
(a2, a1, a0) => ...do something else...
(a0, a1, a2) => ...do something entirely else...
私は各シーケンスの最初のtrue
値に興味があり、発生する順序によっては何らかのアクションを実行したいと考えています。
true
のそれぞれの最初の発生のタイムスタンプを記録してから、CombineLatest
コールで並べ替えることができましたが、より良い方法があると感じています。このアプローチの問題点の1つは、記録されたタイムスタンプの粒度に依存していることです。
は、彼らが真の任意の他の観察可能な火災の前に再び 'true'をを発射することはできますか?これは「ローリング」な試合ですか、それとも3つの試合がすべて合ったら一度に始まりますか? – yamen
私は最初の「真の」価値にのみ関心があります。その後、私はオブザーバーを処分する。 –
私はこれと他の素朴な前提に基づいて答えを出しました。しかし、全体的な方法は多くのシナリオに変換されるべきです。 – yamen