错误时RxJava执行onErrorResumeNext()但也执行一些操作

时间:2018-06-12 17:59:40

标签: android retrofit retrofit2 rx-java2 rx-android

在迭代和获取Web响应时,链会在遇到错误时停止。

我使用了.onErrorResumeNext(Observable.empty())来保持迭代,但也想做一些错误处理。怎么办呢?

                    .getRepos()
                    .flatMap { itemList ->
                        //fetches all repos      
                        Observable.fromIterable(itemList)
                    }
                    .concatMapEager { githubItem ->
                        //fetches commits of each repos 
                        networkModule.getCommits().map { commitItem ->

                            dataBaseModule.insertRepo(commitItem)
                        }.onErrorResumeNext(Observable.empty()) 
  //here I want to take some action instead of just passing an empty observable
                    }

1 个答案:

答案 0 :(得分:1)

您可以在onErrorResumeNext()之前使用... .doOnError( error -> {} ) .onErrorResumeNext( Observable.empty() ) ... 运算符执行操作。

{{1}}