いくつかの条件が変化したときにシグナリングする2つのストリームがあります。すべての条件が変わっtrue
たときに起動するObservableが必要です。それらのいずれかが回ったとき。いくつかの条件があり、別の条件が変更された場合、イベントを発生させる必要はありません。true
false
false
false
false
これが私がそれをしている方法です:
// Introducing current states
private bool cond1 = false;
private bool cond2 = false;
void MyHandlingMethod(IObservable<bool> c1, IObservable<bool> c2)
{
c1.Subscribe(b => _state1 = b);
c2.Subscribe(b => _state2 = b);
var c3 = c1.Merge(c2).Select(_ => _cond1 && _cond2);
c3.Subscribe(b => /* some action goes here /*);
// ...
}
それが私の問題を解決する正しい方法であるかどうか、そして落とし穴があるかどうかを知りたいです。たとえば、rxの非同期性により、c3サブスクリプションはc1とc2の前に起動します。