我们正在为我们的 api 调用使用 RxAndroid + 改造。
我有点理解为什么序列中的任何异常都会通过 onError() 传递 Throwable。
但是如何结束序列,然后如何处理响应并再次返回抛出致命异常?我原以为 onCompleted() 中的处理会允许这样做,但我仍然看到 onError() 被调用。
下面的简化片段。给出结果 -
throwable: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference
Observable<ResponseModel> observable = getApiCallObservable();
AppObservable.bindFragment(this, observable)
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseModel>() {
@Override
public void onCompleted() {
uninitializedList.add("item");
}
@Override
public void onError(Throwable e) {
Log.e(TAG, "throwable: " + e.getMessage());
}
@Override
public void onNext(ResponseModel response) {
}
});
谢谢你的帮助