首页 > 解决方案 > 转换列表> 到通量

问题描述

很少有问题,但有些代码的答案非常具体。

一般来说,如何将 Mono 的 Stream 转换为 Flux

List<Mono<String> listOfMono = stream()
.map( s -> { do something and return Mono<String> } )
.collect(Collectors.toList());

如何将listOfMono对象转换为Flux<String>

标签: javaspring-bootspring-webfluxproject-reactor

解决方案


您可以使用fromIterable然后使用flatMap来展平Mono

将此 Flux 发出的元素异步转换为 Publishers,然后通过合并将这些内部发布者扁平化为单个 Flux,使它们可以交错。

Flux<String> result = Flux.fromIterable(listOfMono)
            .flatMap(Function.identity());

推荐阅读