2017-03-03 6 views

答えて

3

最初のデータを完成させたいので、それぞれを独自のリストに集め、イベントを通知するソースを選択するambを使用して、ターミナルイベントに到達するまで、データをどこかに置く必要があります(収集されたリスト)が最初に表示されます。その後、リストを個々のアイテムに戻すことができます。

Observable<A> source1 = ... 
Observable<A> source2 = ... 

Observable.amb(source1.toList(), source2.toList()) 
.flatMapIterable(list -> list) 
.subscribe(...); 
0

あなたが探しているオペレータはfirstです。もちろん、Observablesを最初にマージする必要があります(mergeを使用するか、おそらくmergeDelayErrorを使います。そのうちの1つだけが失敗した場合でも、最初にvaildの結果で終了します)。

Observable.mergeDelayError(pushObservable, pullObservable) 
     .first() 
     .subscribe(data->...); 

は次のようになります。

関連する問題