私は3つの条件を確認する必要があります。命令型プログラミングでは、私はここですべての3つのmeetsCriteria()
メソッドが呼び出されていることを、ここで複数のオブザーバブルを結合するときにRxJavaに熱心に戻る方法は?
Observable<Boolean> foo(A a, B b, C c){
Observable.zip(
a.meetsCriteria(),
b.meetsCriteria(),
c.meetsCriteria(),
(bool1, bool2, bool3)->{return bool1 | bool2 | bool3;}
}
問題を反応性にする上記に変換するために私の愚かな試みだ
boolean foo(A a, B b, C c){
if(a.meetsCriteria()){ return true; }
if(b.meetsCriteria()){ return true; }
if(c.meetsCriteria()){ return true; }
return false;
}
書きます、したがって、この実装は熱心に戻りません。 。 A.meetsCriteria()
がtrueを返した場合、BとCのmeetsCriteria()
は実行しません。正しい反応変換は何でしょうか?
ニースのパズル実際、別のに基づいて1を実行しないように – karlicoss
:)おかげで、あなたがそれらを呼び出す必要があります連続的に。ですから、単純に '||'を使用するのではなく、オブザーバブルでそれらを組み合わせようとするのは明確ではありません。 – njzk2