我知道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 -> {
//...
});