1
我發現使用RxJava的很好的例子在this article:Retrofit是否支持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。
是否有可能實現這個(以及如何)?