gpt4 book ai didi

java - 延迟评估 Project Reactor 的 Mono 的 switchIfEmpty

转载 作者:搜寻专家 更新时间:2023-11-01 02:00:40 25 4
gpt4 key购买 nike

我正在寻找一种方法来检索替代的 Mono,以防原始 Mono 为空。我找到的最接近的是 Mono.switchIfEmpty,但我的问题是我无法将 lambda 表达式传递给它,因此即使 Mono 具有非空值也会调用它。这有点像 Optional.orElseOptional.orElseGet

这是一个示例:

return someService.findSomeElements()           // returns a Flux<Element>
.filter(this::checkIfMatches)
.singleOrEmpty()
.switchIfEmpty(...); // <-- I want to use lambda here

最佳答案

将替代的 Mono 包装在 switchIfEmpty 内的 Mono.defer 中,只有当原始文件为空时才会延迟实例化。

关于java - 延迟评估 Project Reactor 的 Mono 的 switchIfEmpty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48624612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com