如果有以下内容
Flux<String> flux1 = ...
Flux<String> flux2 = ...
Flux<String> mergedFlux = flux1.merge(flux2);
合并的Flux如何/何时/为何完成?
最小意外原则可能表明它会在任何合并的通量完成时完成。然而,这不是我亲眼所见的。
最佳答案
合并的语义是尝试彻底将两个Flux
的交错发射重放为单个Flux
。因此,合并的 Flux
仅当两个源都完成时才完成。
与 zip
这样的运算符相比,它的目的是通过从每个源中获取一个元素来生成尽可能多的对。因此,当任何源完成时它就会完成,因为从那时起它就不能再生成对了。
关于project-reactor - 由合并构建的 Flux 是如何完成的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416782/