我在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。
是否有可能实现这一目标(以及如何实现)?