繁体   English   中英

功能性Javascript BaconJS,如何将更多值推送到事件流?

[英]Functional Javascript BaconJS, how can I push more values to an event stream?

我试图在BaconJS中创建一堆AJAX响应。 它以先进先出的方式处理它们,但每个'out'事件应该等待用户输入。

这就是我现在所处的位置: 直播JSBin

var pages = Bacon.fromArray([1,2,3])
var next = $("#next").asEventStream('click').map(true);

pages.flatMapConcat(asyncFunction).zip(next).log("responses")

function asyncFunction(page) {
  // Simulating something like an AJAX request
  return Bacon.later(1000 + (Math.random() * 3000), "Page "+ page)
}

目前, #next单击EventStream时,这将同步从EventStream pages输出一个事件,这是我想要的行为。


但是 ,我无法弄清楚如何将更多值推送到EventStream pages 我试图用Bus替换EventStream页面,并推送像这样的值(这不起作用)。

var pages = new Bacon.Bus()
pages.push("value")

如何将更多值推送到EventStream

我知道这是一个老帖子,但公共汽车会工作。 只需将数字(之前有一个数组)推入其中:

var pages = new Bacon.Bus();
// Bacon.fromArray([1,2,3])
var next = $("#next").asEventStream('click').map(true);

pages.flatMapConcat(asyncFunction).zip(next).log("responses")

function asyncFunction(page) {
  // Simulating something like an AJAX request
  return Bacon.later(1000 + (Math.random() * 3000), "Page "+ page)
}


pages.push(1);
pages.push(2);
pages.push(3);

我克隆了你的jsbin并将其更改为使用总线

如前所述,您可以使用fromEventfromBinder等流式传输页面值的来源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM