reactive-programming - 是否可以将任意多个定时 Flux 合并为一个?

标签 reactive-programming project-reactor

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

关于reactive-programming - 是否可以将任意多个定时 Flux 合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52182414/

相关文章:

transactions - quarkus、mutiny 和响应式(Reactive) postgresql 没有回滚

c# - .Net 中的响应式(Reactive)扩展 (C#) - Subject<T> 实例只处理一个订阅

java - react 堆项目 : Multiple Publishers making HTTP calls and one Subscriber to handle all results

java - 主线程不等待订阅者完成响应式(Reactive)订阅者的任务

javascript - Bacon.js 惰性求值,鼠标拖动示例在没有 log() 语句的情况下中断

project-reactor - 如果满足条件, react 堆如何重复某些步骤 n 次

java - Flux.onErrorContinue 参数类型

reactive-programming - Flux 和 Mono 中的 compose() vs. transform() vs. as() vs. map()

java - .flatMap() 线程卡住