0

让我们考虑以下代码:

List<Mono<String>> monoList= apiCall();
List<Disposable> disposableList = monoList.stream()
        .map(m-> m.subscribe(str-> {
                           log.info("Mono is finished with "+ str);
                        })
        ).collect(Collectors.toList());
// I need to await here

我需要等待所有单声道完成。

我怎样才能实现它?

4

1 回答 1

1

不混合不同的流 API,您可以利用副作用而不是订阅并等待完成then()

Mono<Void> await = Flux
            .fromIterable(apiCall())
            .flatMap(m -> m.doOnSuccess(
                str -> log.info("Mono is finished with "+ str)
            )).then()
于 2019-11-18T12:44:35.217 回答