Bal*_*azs 4 java project-reactor
我正在寻找一种方法来检索替代的Mono,以防原始Mono为空。我找到的最接近的是Mono.switchIfEmpty,但是我的问题是我无法将lambda表达式传递给它,因此即使Mono具有非空值,它也会被调用。这有点像Optional.orElseVS Optional.orElseGet。
这是一个示例:
return someService.findSomeElements() // returns a Flux<Element>
.filter(this::checkIfMatches)
.singleOrEmpty()
.switchIfEmpty(...); // <-- I want to use lambda here
Run Code Online (Sandbox Code Playgroud)
将替代方案包装Mono在的Mono.defer内部,switchIfEmpty只有当原稿为空时,它才会被延迟实例化。
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |