首先,這是我的代碼:public static void main(String[] args) { List<String> l1 = Arrays.asList("737", "747"); Flux<String> f1 = Flux.fromIterable(l1); List<String> l2 = Arrays.asList("757", "777"); Flux<String> f2 = Flux.fromIterable(l1); f1.mergeWith(f2) .doOnNext(a -> System.out.println(a)) .next() .subscribe(a -> System.out.println(a));}這是我期望的輸出:737747757777737正如文檔next()所說,它采用第一個元素,從中創建一個元素,Mono然后取消訂閱。我得到的輸出是:737737
1 回答

慕容708150
TA貢獻1831條經驗 獲得超4個贊
正如你所說,next()
需要通量的第一個元素創建一個 Mono。Mono 是 0 或 1 值。所以訂閱時你只會收到原始 Flux 的第一個值。
看看大理石:
查看完整值是如何在第一個值之后發出的。
因此,如果我們將其應用于您的代碼,我們有
737 -> 747 -> 757 -> 777 |
onNext
print 737
next()
737 -> |
subscribe()
print 737
添加回答
舉報
0/150
提交
取消