我是RxJava的新手,我有些難以執行我的第一個'困難'查詢。從RxJava獲得2個觀察結果中的一個結果
我有兩個從Retrofit生成的Observable,一個'ping'一個新的API,另一個是舊的。第一個將詢問'http://myurl.com/newapi/ping',第二個'http://myurl.com/oldapi/ping'。這個請求的結果並不重要,我只想知道服務器是使用新的還是舊的api。
所以我想同時調用兩個observable,最後在最後有一個布爾值來知道我是使用舊的還是新的api。
我想類似的東西
Observable.mergeDelayError(obsOldApi,obsNewApi)
.observeOn(AndroidSchedulers.mainThread(), true)
.subscribeOn(Schedulers.io())
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String s) {
}
});
但onError的將被調用一次(我想,如果這兩個請求無法被才叫),當onNext叫,我不知道從哪個請求它來了(舊的還是新的api?)。
謝謝你的幫助
您可以使用'onErrorResume',但這意味着只有在另一個失敗的情況下調用一個API – njzk2