Реактивное программирование - вызов другого Mono по завершении #SpringWebFlux - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь добиться следующего:

У меня есть два метода - 1. публичный моно метод1 2. публичный моно метод2

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

Можете ли вы помочь с:

  1. Проблема в том, что управление переходит к method1, только если используется method1.subscribe (). Я не могу вернуть значение или выдать исключение на основе поля состояния, возвращенного методом method1.
  2. Когда method1.map () или method1.filter (), управление даже не переходит в method1
  3. Когда method1 возвращает Mono.empty (), элемент управления не собирается switchIfEmpty (method2)

1 Ответ

0 голосов
/ 08 ноября 2018

Ваш метод тестирования просто возвращает издателя. Вы не сможете достичь чего-либо с этим, если потребитель не подпишется на это. Это может дать вам подсказку, почему все может работать не так, как ожидалось.

Кроме того, вы даже не уточнили в вопросе, звоните ли вы или подписываетесь на него или нет.

...