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
相关产品推荐
相关产品推荐

