Java 如何等待所有一次性元件何时完成? 让我们考虑下面的代码: 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 List monoList=apiCall(); List disposableList=monoList.stream() .map(m->m.subscribe(str->{ log.info(“Mono以“+str”结尾); }) ).collect(Collectors.toList()); //我需要在这里等待
我需要等待所有mono的完成Java 如何等待所有一次性元件何时完成? 让我们考虑下面的代码: 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 List monoList=apiCall(); List disposableList=monoList.stream() .map(m->m.subscribe(str->{ log.info(“Mono以“+str”结尾); }) ).collect(Collectors.toList()); //我需要在这里等待,java,spring,spring-webflux,reactor,spring-reactive,Java,Spring,Spring Webflux,Reactor,Spring Reactive,我需要等待所有mono的完成 我该如何实现它呢?不混合不同的流式API,您可以利用副作用而不是订阅,并等待完成 Mono wait=Flux .fromIterable(apiCall()) .flatMap(m->m.doOnSuccess( str->log.info(“Mono以“+str”结束) )).然后() 错误将导致等待完成。如果您想等待全部终止,您可能需要查看flatMapDelayError。错误将导致等待完成。请您重新措辞好吗?单个Mono中的错误将终止最终的Mono,并伴有
我该如何实现它呢?不混合不同的流式API,您可以利用副作用而不是订阅,并等待完成
Mono wait=Flux
.fromIterable(apiCall())
.flatMap(m->m.doOnSuccess(
str->log.info(“Mono以“+str”结束)
)).然后()
错误将导致等待
完成。如果您想等待全部终止,您可能需要查看flatMapDelayError
。错误将导致等待完成。请您重新措辞好吗?单个Mono
中的错误将终止最终的Mono
,并伴有错误。由于某些原因,它不起作用。ypu可以看一看吗:
Mono<Void> await = Flux
.fromIterable(apiCall())
.flatMap(m -> m.doOnSuccess(
str -> log.info("Mono is finished with "+ str)
)).then()