我有以下可观察链:
public <T> Observable<T> request(Observable<T> request) {
return request.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(() -> {
errorView.setVisibility(View.INVISIBLE);
progressBar.setVisibility(View.VISIBLE);
setVisibility(VISIBLE);
})
.doOnError(throwable -> {
progressBar.setVisibility(View.INVISIBLE);
errorView.setVisibility(View.VISIBLE);
})
.doOnCompleted(() -> setVisibility(GONE))
.retryWhen(o -> this.onClick());
}
我将请求Observable作为参数传递,因为您可以看到链中有doOnError
和retryWhen
。我想要的是在请求Observable(参数)中添加另一个错误处理程序。我尝试在传递给函数之前订阅doOnError
并且after
但是它们都没有工作。