RxJava 平面图链跳过错误
RxJava flatmap chain skips errors
我有以下代码
repository.operationOne()
.flatMap {
repository.operationTwo().map {
it.items
}
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{
// Success
},
{
// Error
})
.trackDisposable()
问题是我的 operationOne() returns 错误 400 来自改造,但我在订阅中的错误块从未执行,因为第二次 api 调用成功。如果第一个失败并从订阅中调用错误块,如何停止第二个 api 调用 (operationTwo)?
编辑: 两个操作 return 单个。另外添加 onErrorResumeNext、doOnError 或 onErrorReturn 似乎没有任何作用
问题是因为 firstOperation 使用响应 Single < Response > 的改造,这显然不会在 400 响应上抛出异常。
我有以下代码
repository.operationOne()
.flatMap {
repository.operationTwo().map {
it.items
}
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{
// Success
},
{
// Error
})
.trackDisposable()
问题是我的 operationOne() returns 错误 400 来自改造,但我在订阅中的错误块从未执行,因为第二次 api 调用成功。如果第一个失败并从订阅中调用错误块,如何停止第二个 api 调用 (operationTwo)?
编辑: 两个操作 return 单个。另外添加 onErrorResumeNext、doOnError 或 onErrorReturn 似乎没有任何作用
问题是因为 firstOperation 使用响应 Single < Response