観測可能なソースの1つがデータを放出するとき、他の観測可能なデータがそこに放出されるのを待つのではなく、最新の放出データがあればそれを得ることを望むzip
を達成したい。最新の他の観測データを取得するRxJavaジップ
obs1 --true-|->
obs2 --true-|->
obs3 --1-2-3-4->
ジッパーは、私は私の質問は理にかなって願っていますパラメータ
true, true, 1
true, true, 2
true, true, 3
true, true, 4
でTriFunction
を実行する必要があります。
拡張質問
私はすでに問題の一部を解決するため、私はあなたたちのために別の問題を得ました。 obs1
およびobs2
は、true
またはfalse
のいずれかを発行する高価な操作です。私が必要としていたのは、すべての排出量がobs3
であることです。いずれかが以前の排出量でfalse
を放出する場合、obs1
またはobs2
を再実行する必要があります。私が上に書いたのは、obs1
とobs2
の両方が、obs3
の最初の放射でtrue
を放射する最良の場合です。
-------1------------2-----------------3------------->
---true/false---true/re-execute---true/re-execute--->
---true/false---true/re-execute---true/re-execute--->
編集"どちらか"は、拡張された問題で誤解を招く恐れがあります。
私がそれが意味するのは、前回の放出時にobs1
がfalseである場合、obs1
を再実行することです。前回の放射でobs2
が偽の場合は、obs2
を再実行してください。それらのいずれかがfalse
である場合、両方を再実行しないでください。
だから、あなたは、各ソースの_latest_値を_combine_したいと言っていますか?その場合、 'combineLatest'を探しています - はい、時にはRxJavaが本当に明らかです。 :-) –
ここに事がありますが、私は1つの観察可能なデータを必要とするので、2つの観測値からのデータが必要です。その要件は高価なので、一度だけ実行するのが理想です。 @ david.mihola – Hohenhiem
ああyeah combineLatestが最適です。おかげで@ david.mihola – Hohenhiem