反应式编程-完成时调用另一个Mono #SpringWebFlux

时间:2018-11-07 18:24:50

标签: spring-webflux project-reactor reactive

我正在努力实现以下目标:

我有两种方法- 1.公共Mono方法1 2.公共Mono方法2

public Mono<Boolean> test(){
 method1.map(status -> {
  if(status.isActive){
    throw Exception;
  } 
 }).switchIfEmpty(method2).thenReturn(true);
}

可以帮忙吗?

    问题是,只有使用method1.subscribe()时,控制权才会转到method1。我无法根据method1返回的“状态”字段返回值或引发异常。
  1. 当method1.map()或method1.filter()时,控件甚至都不会转到method1
  2. 当method1返回Mono.empty()时,控件将不会切换到switchIfEmpty(method2)

1 个答案:

答案 0 :(得分:1)

您的测试方法仅返回发布者。除非消费者订阅它,否则您将无法实现任何目标。这可能会提示您为什么事情可能无法按预期工作。

此外,您甚至还没有澄清是否要致电/订阅它。