2016-04-28 21 views
1

我發現使用RxJava的很好的例子在this articleRetrofit是否支持rx.Future/Task/Async/Single?

Subscription subscription = Single.create(new Single.OnSubscribe() { 
      @Override 
      public void call(SingleSubscriber singleSubscriber) { 
       String value = longRunningOperation(); 
       singleSubscriber.onSuccess(value); 
      } 
     }) 
     .subscribeOn(Schedulers.io()) 
     .observeOn(AndroidSchedulers.mainThread()) 
     .subscribe(new Action1() { 
      @Override 
      public void call(String value) { 
       // onSuccess 
       Snackbar.make(rootView, value, Snackbar.LENGTH_LONG).show(); 
      } 
     }, new Action1() { 
      @Override 
      public void call(Throwable throwable) { 
       // handle onError 
      } 
     }); 

但自從我使用改裝我想創建RetrofitService並使用單一類結果組合兩個請求到後端到一個數據集,如下所述:

當訂閱Single時,只有onSuccess Action和onError操作。 Single類具有不同於 Observable的一組操作符,其中有幾個操作符允許將單個元素轉換爲Observable的機制。例如,使用 Single.mergeWith()運算符,可以將兩個或多個相同類型的Singles合併在一起以創建一個Observable,並將每個Single的結果發送到一個Observable。

是否有可能實現這個(以及如何)?

回答