2016-04-28 61 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。

是否有可能实现这个(以及如何)?

回答