我有一个flatMap
运行一系列 HTTP 调用来注册用户、检索他们的个人资料和其他一些事情的方法。我想根据错误发生的阶段通知onError
我subscription
特定的错误消息。flatMap
也许注册成功,但检索创建的配置文件却没有。我怎样才能做到这一点,以便flatMap
在发生错误时停止所有后续调用?
这是我的一些伪代码Observable
and Subscription
:
Retrofit.registerUser()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap({
return Retrofit.authenticate();
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap({
return Retrofit.retrieveProfile()
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap({
return Retrofit.retrieveOtherStuff()
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1 {
}, new Action1<Throwable>() {
// I would like to display the error to my user here
}));