Mono
型を返す別の非同期メソッドを呼び出すOptional
が必要です。
Optional
が空でない場合は、値があります。MonoEmpty
値が空の場合、はOptional
です。これが私が今していることです:
Mono.fromCallable(() -> someApi.asyncCall()) .filter(Optional::isPresent) .map(Optional::get)
明らかに、これは、呼び出し可能オブジェクトが完了した後に2つの演算子を使用するため、理想的ではありません。可能であれば、Mono.empty()
またはmono値をfromCallable
内から取得したいと思います。
私が望むことを達成するための最良の方法は何ですか?
どうですか:
Optional<Integer> optional = Optional.of(5);
Mono<Optional<Integer>> monoWithOptional = Mono.just(optional);
Mono<Integer> monoWithoutOptional = monoWithOptional.flatMap(Mono::justOrEmpty);