【发布时间】:2019-05-31 12:59:44
【问题描述】:
在我们的项目中,我们有某种回退,以防发生不好的事情,并由 doOnError 处理。我唯一担心的是 doOnError 运算符可能没有以正确的方式使用。那么让我们看下一个例子:
callService1()
.flatMap(service1Response -> {
//process service1Response
})
.doOnError(callService2.subscribe())
当流到达 doOnError 时,我们正在调用另一个服务。
在 doOnError 中,我们必须手动 订阅 到由 callService2 检索到的 Mono 以便执行代码,除此之外,如果在 doOnError 中抛出错误,这个错误不会被我们的 GlobalErrorHandler 捕获。
我们是否应该重新考虑在这种情况下我们的错误处理?我真的不想手动订阅发布者。你怎么看 ?提前谢谢。
【问题讨论】:
标签: java reactive-programming spring-webflux