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() )
...
在迭代和获取网络响应时,链会在遇到错误时停止。
我使用 .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() )
...