onErrorResume 和 onErrorReturn 的区别

jav*_*ava 6 java reactor

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

Ste*_*hen 5

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

前任:

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

onErrorResume- 有多个用例

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

教程为每个场景提供了示例。