rxJava Observable链在onErrorResumeNext之后停止

时间:2018-05-09 16:32:32

标签: android rx-java

我有以下可观察链:

public Observable<Void> ApiCallBackObservable() {
    return Observable.fromEmitter(new Action1<AsyncEmitter<Void>>() {
        @Override
        public void call(final AsyncEmitter<Void> voidAsyncEmitter) {
            APICall.setCallBack(new CallBack() {
                @Override
                public void onResponseReceived() {
                    voidAsyncEmitter.onNext(null);
                    voidAsyncEmitter.onCompleted();
                }
            });

        }
    }, AsyncEmitter.BackpressureMode.NONE).timeout(100, TimeUnit.MILLISECONDS).onErrorResumeNext(new Func1<Throwable, Observable<? extends Void>>() {
        @Override
        public Observable<? extends Void> call(Throwable throwable) {
            return Observable.empty();
        }
    });

}

问题是在这个API回调之后,我正在链接更多的observables:

apiCallBackObservable().map(new Func1<Void, String>() {
                @Override
                public String call(Void aVoid) {
                    return "Ok";
                }
            }).flatmap(...).flatmap(....)....;

但不知何故,当代码遇到onErrorResumeNext时(由于超时),链停止它永远不会到达下一个地图,没有错误没有它只是停止。

0 个答案:

没有答案