我从文档中读到flatMap:
将此 Flux 发出的元素异步转换为 Publisher,然后通过合并将这些内部发布者扁平化为单个 Flux,从而允许它们交错。
那flatMapSequential:
将此 Flux 发出的元素异步转换为 Publishers,然后将这些内部发布者扁平化为单个 Flux,但按照源元素的顺序合并它们。
然后concatMap:
将此 Flux 发出的元素异步转换为发布者,然后将这些内部发布者扁平化为单个 Flux,按顺序并使用串联保留顺序。该运算符有三个维度可以与 flatMap 和 flatMapSequential 进行比较:
内部函数的生成和订阅:该运算符等待一个内部函数完成,然后再生成下一个内部函数并订阅它。
展平值的排序:该运算符自然地保留与源元素相同的顺序,按顺序连接每个源元素的内部。
交错:此运算符不会让来自不同内部的值交错(串联)。
和 其他两者之间的区别flatMap是可以理解的,但我不明白concatMap和之间的区别何时flatMapSequential发生。两者之间有性能差异吗?我读过它flatMapSequential有一些队列的缓冲区大小,但我不明白为什么concatMap不需要它。