bacon.js EventStream以间隔表示url的轮询

时间:2014-06-20 20:18:57

标签: javascript ajax events polling bacon.js

我想定期轮询一个网址并将结果作为一个流来获取。我可能遗漏了一些显而易见的东西,但有没有人知道如何在bacon.js中做这个看似简单的事情?

1 个答案:

答案 0 :(得分:4)

想出来,这将每5秒轮询/whatever并将结果作为值流返回:

var ajaxE = function() {
  return Bacon.fromPromise(
    $.ajax({
      type: "GET",
      url: "/whatever",
      dataType: "JSON"
    })
  );
};

var stream = Bacon.interval(5000).flatMapLatest(ajaxE);

这里解释:http://nullzzz.blogspot.com/2012/12/baconjs-tutorial-part-iii-ajax-and-stuff.html(标题为“AJAX with flatMap”的部分)。