【发布时间】:2018-10-08 08:00:00
【问题描述】:
Mono 中有没有办法在出现错误时返回 flatMap(onErrorFlatMap)
我的情况是,当处理后出现错误时我需要 SubscriberContext 我需要将相同的错误沿链传播
String test = "test";
Mono.just(test)
.map(Integer::valueOf)
.onErrorMap(error -> Mono.subscriberContext()
.map(context -> {
System.out.println(error + " -- " + context.getOrDefault("APPID", null));
return error;
}))
.subscriberContext(of("APPID", "APP-101"))
.block();
这就是办法,我找到了解决办法,但是有更好的办法吗?
String test = "test";
Mono.just(test)
.map(Integer::valueOf)
.onErrorResume(error -> Mono.subscriberContext()
.flatMap(context -> {
System.out.println(error + " -- " + context.getOrDefault("APPID", null));
return Mono.error(error);
}))
.subscriberContext(of("APPID", "APP-101"))
.block();
【问题讨论】:
标签: java spring spring-boot project-reactor reactor