如何将Bacon.js流延迟到另一个流上的值?

时间:2014-04-01 15:03:52

标签: javascript reactive-programming bacon.js

鉴于两个Bacon.Bus,我需要将它们各自的值组合起来。然而,第二条总线的效率要高得多(约为1:200),第一条总线也较慢,其第一个值严重延迟,例如:通过XHR或类似的东西获取。因此,在第一个“批次”已经通过第二个总线之后,第一个总线中的第一个值被发出。因此Bacon.onValues(bus1, bus2, f(b1, b2))不起作用,bus1.sampledBy(b2, f(b1, b2))出于同样的原因也不起作用。

我假设我需要一种缓冲第二条总线的方法,并在第一条总线发出值后立即释放它。可能我需要像issue #300中提到的类似可流动的流,但也许我在这里缺少一些非常明显的东西。

那么如何延迟第二个总线,直到第一个出现值?

1 个答案:

答案 0 :(得分:0)

combineAsArray()似乎做得很好

查看此演示:

http://codepen.io/turbohz/pen/jFxqw