onErrorResume 和 onErrorReturn 的区别

The difference between onErrorResume and onErrorReturn

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

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 教程有每个场景的示例。