我想通过发出2个项目来处理异常。 我想要类似的东西
handleHttpResponse(): Observable()
LoadingOn, LoadingOff, OnError(error): Item
aHttpObservable()
.flatMap{ handleHttpResponse() }
.startWith{ Observable.just(LoadingOn) }
.concatWith{ Observable.just(LoadingOff) }
.onErrorReturn{ error -> Observable.just(LoadingOff, OnError(error)) }
或者因为onComplete
或onError
我都必须关闭加载对话框,所以我可能会遇到
aHttpObservable()
.flatMap{ handleHttpResponse() }
.startWith{ Observable.just(LoadingOn) }
.onTerminate{ Observable.just(LoadingOff) }
.onErrorReturn{ error -> OnError(error) }
我该怎么做?谢谢。
答案 0 :(得分:1)
使用onErrorResumeNext()
Observable.error(new RuntimeException("test"))
.onErrorResumeNext(error -> {
return Observable.just("a_message", error.toString());
})
.subscribe(System.out::println);