是否可以将任意多个定时 Flux 组合成一个?

Ist it possible to combine arbitrarily many timed Flux into one?

我知道 combineLatest() 将最后的值合并到两到六个 Flux 实例 (Combining Publishers in Project ) 中。但是,假设我有一个 List<Flux<Integer>> listOfFlux。是否有可能将所有这些组合成一个,例如listOfFlux.combineAllLatest( (a,b) -> a + b) )?

是的,有一个运算符变体:

Flux.combineLatest(Iterable<? extends Publisher<? extends T>> sources,
                                          Function<Object[],V> combinator)

您可以像这样使用它:

List<Flux<Integer>> listOfFlux = //...
Flux<Integer> result = Flux.combineLatest(listOfFlux, arr -> {
    //...
});