Mel*_*ius 15 spring project-reactor
在 spring 项目反应堆中,onErrorResume
和之间有什么区别doOnError
?什么时候我应该每个人?
Pra*_*dey 40
onErrorResume
:当上游发生某些异常时,提供回退流。
doOnError
: 副作用运算符。假设您想记录上游发生的错误。
例子:
Mono.just(request)
.flatMap(this::makeHTTPGet)
.doOnError(err -> {
log.error("Some error occurred while making the POST call",err)
})
.onErrorResume(err -> Mono.just(getFallbackResponse()));
Run Code Online (Sandbox Code Playgroud)
你看,doOnError
是一个副作用运算符。这就像将温度计插入水管并读取温度。它会影响管道吗?不。
假设现在管道破裂 - 城市仍然需要供水,对吗?所以我们有一个可以在这种情况下激活的回退管道。onErrorResume
正是这样做的。
注意:您也可以登录onErrorResume
。没有什么能阻止你这样做。
归档时间: |
|
查看次数: |
5898 次 |
最近记录: |