我是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