2017-05-22 19 views
0

我對這個真的很新的,但我試圖做的是RxJava2如何在不同的並行請求調用

請在兩個平行的通話都是對象,那麼我需要創建一個使用的屬性的新對象既

這是一個僞例子,我需要

OperatorINeed(service.callOne(), service.callTwo()) 
    .subscribeOn(Schedulers.io()) 
    .observeOn(AndroidSchedulers.mainThread()) 
    .concatMap(new BiFunction<ObjectA, ObjectB, ObjectC>() { 
    public ObjectC apply(ObjectA objectA, ObjectB objectB) { 
     // do things 
     return objectC; 
    } 
    }) 
    onErrorResumeNext(...) 

,但我無法找到這個東西

+0

zip或combinelatest爲耶?工作? http://rxmarbles.com/ – Sheychan

回答

0

使用zip()運營商來說,無線網絡的任何具體的例子LL從兩個服務同時收集排放Observable原來決心在parraell運行,在那裏你提供BiFunction映射兩個對象的屬性到一個新的單個對象,事後你可以objectC申請concatMap()

Observable.zip(service.callOne(), service.callTwo(), 
      new BiFunction<ObjectA, ObjectB, ObjectC>() { 
       @Override 
       public ObjectC apply(ObjectA objectA, ObjectB objectB) throws Exception { 
        // do things 
        return objectC; 
       } 
      }) 
      .subscribeOn(Schedulers.io()) 
      .observeOn(AndroidSchedulers.mainThread()) 
      .concatMap(objectC -> { //create an Observable using objectC}) 
      .onErrorResumeNext(...) 
相關問題