我总是为初始流程做这样的事情:
$.when(dom(), webrtc(), websocket('wss://example.com/'), sleep(3000)).then(load, fail);
dom
,webrtc
,websocket
和sleep
是Promise对象。此表达式可用于加载某些并行进程以进行启动。
现在我想知道如何用Bacon.js表达这些东西,这是一种功能性反应式编程方式。
任何想法都会受到赞赏。提前谢谢。
答案 0 :(得分:2)
首先,将Promises混合并匹配到您的BaconJS代码中是完美的。也就是说,鉴于抽象,BaconJS有fromPromise
方法。
var ready = Bacon.fromPromise($.when(dom(),
webrtc(),
websocket('wss://example.com/'),
sleep(3000)))
ready.onValue(function(value){
console.log("All ready");
});
请注意,这里的功能是组合这些流,在初始化阶段 - 你很少需要这个,所以如果我是你,我可能会坚持承诺。