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

标签 javascript reactive-programming bacon.js

给定两个 Bacon.Buses,我需要组合它们各自的值。然而,第二条总线的“生产力”要高得多(大约 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/

相关文章:

java - 异步Java : How to return this without blocking?

java - 订阅现有的可观察对象,除非它已完成

javascript - 一旦到达 404,如何中止正在发出 AJAX 请求的 Bacon.js 属性?

javascript - 如何使用另一个流临时 "block"bacon.js 中的 EventStream?

javascript - 检测对象是否是 Stream 类实例的最佳方法是什么?

javascript - HTML、JavaScript : Get a value out of window. onclick 的函数

javascript - 如何在 "flux"应用程序中管理昂贵的派生计算

javascript - 在 mongo javascript 中使用变量

c# - 如果中间有 linq 方法,rx 处理异常订阅

javascript - 从 Javascript 插件控制 Word 文档中的选择范围