我知道combineLatest()
将最后的值合并到两个到六个Flux实例(Combining Publishers in Project )中。但是,假设我有一个List<Flux<Integer>> listOfFlux
。是否可以将它们全部合并为一个,例如listOfFlux.combineAllLatest( (a,b) -> a + b) )
?
答案 0 :(得分:2)
是的,有一个用于此目的的运算符变体:
Flux.combineLatest(Iterable<? extends Publisher<? extends T>> sources,
Function<Object[],V> combinator)
您可以像这样使用它:
List<Flux<Integer>> listOfFlux = //...
Flux<Integer> result = Flux.combineLatest(listOfFlux, arr -> {
//...
});