Retrofit是否支持rx.Future / Task / Async / Single?

时间:2016-04-28 09:03:50

标签: android retrofit rx-java retrofit2

我在this article找到了使用RxJava的好例子:

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
           }
       });

但是由于我正在使用Retrofit,我想创建RetrofitService并使用Single类将两个请求的结果合并到一个数据集中,如下所述:

  

订阅Single时,只有onSuccess Action和   onError动作。 Single类有一组不同的运算符   可观察的,有几个允许机制的运营商   将单个转换为可观察的。例如,使用   Single.mergeWith()运算符,两个或多个相同类型的单例可以   合并在一起创建一个Observable,发出结果   每个Single to one Observable。

是否有可能实现这一目标(以及如何实现)?

1 个答案:

答案 0 :(得分:2)

是的,请参阅Retrofit Adapters 仅适用于Retrofit2.0