RxJS 事件顺序保证

RxJS event order guarantee

在为我们的项目探索 rx 时,我们 运行 进入了以下谜题: 我们有一个流 S1,它可以接收两个不同的事件(A 和 B)。 如果我们从专门订阅 A 或 B 事件的流 (S1) 创建两个单独的流(Sx1 和 Sx2)(A 的 Sx1 和 B 的 Sx2),是否有任何 gua运行tee 订阅者将接收事件 按照他们到达 S1 的顺序?

这完全取决于您选择执行哪种合并方法,这将决定返回结果的方式。

看看 RxMArbles 它有很好的视觉示例。

对于这种情况,我会说 Concat 会按照事件发生的顺序保持相同的顺序,但如果您正在处理异步数据,这可能不是最佳选择。查看 RxMarble

上的 COMBINING OPERATORS