You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Project Reactor疑问:Flux.create()搭配collectList()失效问题

Reactor 数据流收集示例与问题说明

咱们先来看这个能正常工作的Reactor示例——它会打印1到10的整数,最后还会输出过滤后的列表[7,8,9,10]:

public void streamCollect() {
    ConnectableFlux<Integer> connect = Flux.range(1, 10)
            .publish();
    connect.subscribe(v -> System.out.println("1: " + v));
    connect
            .filter(number -> number > 6)
            .collectList()
            .subscribe(v -> System.out.println("4: " + v));
    connect.connect();
}

运行这段代码后的输出结果如下:

1: 1
1: 2
1: 3
1: 4
1: 5
1: 6
1: 7
1: 8
1: 9
1: 10
4: [7, 8, 9, 10]

不过这里有个奇怪的情况:有一个用Flux.create()实现的同逻辑代码,原本预期会得到和上面完全一致的输出,但实际运行后的结果却和预期不符。

内容的提问来源于stack exchange,提问作者goroncy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:11:20