2016-05-06 11 views
0

Need process オレンジ色と緑色のオブジェクト(1と2)を生成できる観測点が2つある。この2つのオブジェクトはペアになっています(グリーンはタイマーによってトリガーされます)。rxjavaは条件でオブジェクトを収集し、別の観測を待つ。

時々、私は、異なる観察可能物が同じオレンジ色の物体(AとBは同じ内部)を放射することができる状況があります。そのような状況では、AがBに等しいかどうかチェックし、緑色のアクティベータを待つオブジェクトを1つ残します(もちろん、AとBは異なる場合があります)。緑色のアクチベータがAまたはBになる場合は、緑色のアクティベータがオレンジ色に合っているかどうかを確認し、アクションを実行する必要があります。

私はPublishObjectsを使用し、緑色とオレンジ色のオブジェクトを組み合わせる必要があると思います。条件に合っていない場合は条件をチェックし、オブジェクトが残っていない場合はオレンジ色のオブジェクトを組み合わせる方法はありません。どのようにそれを推測するPls?

答えて

0

単純なRxJava演算子(私のプロジェクトに特有のアーキテクチャ)を組み合わせた別の解決法が見つかりましたが、ここでは2つの解決策があります:
1)作成者このlinkはあなたにこれを助けることができます。
2)最新のcombineLatest()演算子を重い関数コードで使用します(観測可能な2つのオブジェクトの2つのリスト、結合ロジックとタイムアウトによるクリーニング)。

関連する問題