【发布时间】:2018-11-22 04:55:14
【问题描述】:
在迭代和获取 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
}
【问题讨论】:
-
您可以使用
doOnError()运算符来执行错误操作。将它放在onErrorResumeNext()运算符之前。 -
感谢这项工作!这应该是公认的答案。
标签: android retrofit retrofit2 rx-java2 rx-android