如何将 Flux<List<T>> 扁平化为 Flux<T>?
How to flatten Flux<List<T>> to Flux<T>?
您好,我的代码如下所示:
fun mapBatch(batch: List<String>): Mono<List<MyClass>> ...
fun myFun(stream: Flux<String>): Flux<MyClass> {
return stream
.bufferTimeout(50, Duration.ofSeconds(60L))
.flatMap{ batch -> mapBatch(batch) }
/// now here I would like to get Flux<MyClass> but have Flux<List<MyClass>>
}
如何从 Flux<List<T>>
获取 Flux<T>
?
您应该使用 .concatMapIterable
或 .flatMapIterable
。
Flux#flatMapIterable
是一个特殊的运算符,用于将表示为 Iterable 的项目“扁平化”为 T 的反应流。
您好,我的代码如下所示:
fun mapBatch(batch: List<String>): Mono<List<MyClass>> ...
fun myFun(stream: Flux<String>): Flux<MyClass> {
return stream
.bufferTimeout(50, Duration.ofSeconds(60L))
.flatMap{ batch -> mapBatch(batch) }
/// now here I would like to get Flux<MyClass> but have Flux<List<MyClass>>
}
如何从 Flux<List<T>>
获取 Flux<T>
?
您应该使用 .concatMapIterable
或 .flatMapIterable
。
Flux#flatMapIterable
是一个特殊的运算符,用于将表示为 Iterable 的项目“扁平化”为 T 的反应流。