use*_*406 4 project-reactor spring-webflux
我想做如下的事情。在 Mono.fromCallable 中,我运行一些块逻辑,然后根据值返回 Mono.empty() 或该值,以便它将触发映射或 defaultIfEmpty。
Mono.fromCallable(() -> {
double number = Math.random();
if (number < 0.5) {
return Mono.empty();
}
return number;
})
.map(number -> 1)
.defaultIfEmpty(0)
Run Code Online (Sandbox Code Playgroud)
这会产生错误,因为 Mono.fromCallable 期望一致的返回值。如何调整代码以使其正常工作?
尽管null在 Reactor API 中通常禁止返回,但它是可能返回的有效值Callable,Reactor 通过转换为空来正确处理它Mono:
Mono.fromCallable(() -> {
double number = Math.random();
if (number < 0.5) {
return null;
}
return number;
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2507 次 |
| 最近记录: |