RxJava 错误执行 onErrorResumeNext() 但也采取一些行动

RxJava on error perform onErrorResumeNext() but also take some action

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

我使用 .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
                    }

您可以在 onErrorResumeNext() 之前使用 doOnError() 运算符来执行操作。

...
.doOnError( error -> {} )
.onErrorResumeNext( Observable.empty() )
...