【发布时间】:2016-03-05 03:35:00
【问题描述】:
我使用 Retrofit 作为 Rx-Java 的网络库。我想对大多数请求进行一些集中式错误检查并处理错误,或者如果我无法处理它,则将其传递给订阅者的onError()。我怎么能这样做?
类似的东西
projectListObservable
.subscribeOn(Schedulers.newThread())
.timeout(App.NETWORK_TIMEOUT_SEC, TimeUnit.SECONDS)
.retry(App.NETWORK_RETRY_COUNT)
.onError(e -> {
if (e instanseOf HttpError && ((HttpError)e).getCode == 403){
App.getInstance.getNetworkManager.reAuth();
} else {
throw(e);
}})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new ProjectListSubscriber());
另外,在这种情况下我应该停止重试,但如果是网络问题,请继续重试 (instanceof IOException)。
【问题讨论】:
-
在不同的问题中找到了很好的答案stackoverflow.com/questions/26201420/…
标签: android retrofit reactive-programming rx-java rx-android