在迭代和获取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
}
答案 0 :(得分:1)
您可以在onErrorResumeNext()
之前使用...
.doOnError( error -> {} )
.onErrorResumeNext( Observable.empty() )
...
运算符执行操作。
{{1}}