给定两个Bacon.Bus,我需要组合它们各自的值。但是,第二条总线的生产率更高(约1:200),第一条总线的速度也较慢,其第一个值会严重延迟,例如,通过XHR或类似方式获取。因此,在第一个“批”已经通过第二个总线之后,将发出第一个总线中的第一个值。因此,出于相同的原因,Bacon.onValues(bus1, bus2, f(b1, b2))不起作用,bus1.sampledBy(b2, f(b1, b2))也不起作用。

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

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

最佳答案

CombineAsArray()似乎做得很好

查看此演示:

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

关于javascript - 如何将Bacon.js流延迟到另一个流上的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22789741/

10-10 21:44
查看更多