RxJava平面图链跳过错误

时间:2019-12-05 12:45:52

标签: android kotlin rx-java retrofit2

我有以下代码

repository.operationOne()
            .flatMap {
                repository.operationTwo().map {
                    it.items
                }
            }
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                    {
                        // Success
                    },
                    {
                       // Error
                    })
            .trackDisposable()

问题是我的operationOne()从改造中返回错误400,但是由于第二次api调用成功,我的订阅中的错误块从未执行。如果第一个API调用失败,如何停止第二个api调用(operationTwo)并从su​​bscription调用错误块?

编辑:两个操作均返回单个。还添加了onErrorResumeNext,doOnError或onErrorReturn似乎没有任何作用

1 个答案:

答案 0 :(得分:1)

问题是由于firstOperation使用带有响应Single >的改造而设计的,它显然不会在400响应上引发异常。