2017-02-27 52 views
1

我使用RxJava2和具有可流動的功能,這樣是否可以在`zipWith`運算符中訂閱?

Flowable1 
    .doOnNext() 
    .toList() 
    .onErrorReturnItem() 
    .zipWith(Flowable2 
      .toList() 
      .onErrorReturnItem()){ 
     condition1 -> return list1 
     condition2 -> return list2 

     return list3 
    } 
    .flattenAsFlowable() 
    .flatMap() 

zipWith操作我有返回根據結果不同列表的條件。實際上,最終的flatMap僅適用於list3。但是我仍然無法制定如何在zipWith()運營商內部使用它,同時仍然繼續該序列。我想我仍然需要訂閱,如果我把它包裝在zipWith運營商內,這將導致混亂的線程

有沒有辦法解決它?

+0

目前尚不清楚什麼是你想實現什麼呢? 什麼是list3? 什麼參數的條件取決於? – yosriz

回答

0

幾個小時後,我終於制定了一個方法,從列表中返回形成內zipWith可流動的:

Flowable1 
    .doOnNext() 
    .toList() 
    .onErrorReturnItem() 
    .zipWith(Flowable2 
      .toList() 
      .onErrorReturnItem()){ 
     condition1 -> return list1 
     condition2 -> return list2 

     return Flowable.fromtIterable(list3) 
        .flatMap() 
        .toList() 
        .blockingGet() 
    } 
    .flattenAsFlowable() 
相關問題