如何将 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 的反应流。