spring-webflux - 反应式编程 - 在完成时调用另一个 Mono #SpringWebFlux
问题描述
我正在努力实现以下目标:
我有两种方法 - 1. public Mono method1 2. public Mono method2
public Mono<Boolean> test(){
method1.map(status -> {
if(status.isActive){
throw Exception;
}
}).switchIfEmpty(method2).thenReturn(true);
}
你能帮忙吗:
- 问题是,只有在使用 method1.subscribe() 时,控制权才会转到 method1。我无法根据从 method1 返回的状态字段返回值或抛出异常。
- 当method1.map()或method1.filter()时,控制甚至没有转到method1
- 当 method1 返回 Mono.empty() 时,控制不会切换到 switchIfEmpty(method2)
解决方案
您的测试方法只返回一个发布者。除非消费者订阅它,否则您将无法使用它实现任何目标。这可能会提示您为什么事情可能无法按预期为您工作。
此外,您甚至没有在问题中澄清您是否正在调用/订阅它。
推荐阅读
- reactjs - "bash: expo: command not found" after installing expo-cli in Mac
- unreal-engine4 - 如何定义子弹和绘制的球体对象之间的碰撞
- javascript - Angular:取消选中不确定复选框不起作用
- java - SimpleJdbcCall 调用函数
- api - Google docs 拼写检查 API - 可用吗?
- kubernetes - 容器启动探测未执行
- python - 在 Python 中打印不带大写字母的函数
- python - 解释此归并排序代码中 L 和 R 的范围?
- amazon-web-services - 无法让 AWS Athena escapeChar 工作
- flutter - Navigator 没有可替换的活动路线