Асинхронная Java: как вернуть это без блокировки? - PullRequest
0 голосов
/ 12 июня 2019

Установка:

public Mono<String> getResult(Mono<Boolean> flagMono, Mono<String> resultMono) {
    return flagMono.map(flag -> {
        if (flag) return "FLAG IS TRUE, SKIP RESULT";
        return resultMono.block(); // how to do without blocking?
    });
}

Надеюсь, то, что я пытаюсь сделать, ясно, и это просто вопрос правильного написания. Я хотел бы вернуть строковую константу, если flag истинно, в противном случае вернуть строковый результат, возвращаемый resultMono неблокирующим способом.

1 Ответ

2 голосов
/ 12 июня 2019
public Mono<String> getResult(Mono<Boolean> flagMono, Mono<String> resultMono) {
    return flagMono.flatMap(flag -> {
        if (flag) return Mono.just("FLAG IS TRUE, SKIP RESULT");
        return resultMono;
    });
}
...