【问题标题】:The difference between onErrorResume and onErrorReturn [closed]onErrorResume 和 onErrorReturn 之间的区别 [关闭]
【发布时间】:2023-04-08 17:43:01
【问题描述】:

在spring项目reactor中,onErrorResume和onErrorReturn有什么区别?我什么时候应该每个人?

【问题讨论】:

  • 欢迎来到 Stack Overflow。请通过tour 了解 Stack Overflow 的工作原理,并阅读How to Ask 以了解如何提高问题的质量。然后查看help center,看看你可以问什么问题。你的问题太宽泛了,因为它只是引用这些方法的javadoc。这些方法到底有什么问题,你不明白它们是如何工作的?

标签: java reactor


【解决方案1】:

onErrorReturn => 静态默认值场景用例。

例如:

 public Mono<ServerResponse> handleRequest(ServerRequest request) {
        return sayHello(request)
          .onErrorReturn("Hello Stranger")
          .flatMap(s -> ServerResponse.ok()
          .contentType(MediaType.TEXT_PLAIN)
          .syncBody(s));
    }

onErrorResume- 有多个用例

  • 计算动态后备值
  • 使用回退方法执行替代路径 - 捕获、包装并重新抛出错误,例如作为习惯 业务例外

This 教程对每个场景都有示例。

【讨论】: