从不 运行 流 Bacon.js。回调从不调用

Never running stream Bacon.js. Callback never calls

我正在尝试将培根流用作永无止境的循环,但它不起作用。

var Bacon = require('baconjs');

var INTERVAL = 300;

var tickStream = Bacon.interval(INTERVAL);
var isMaster = tickStream.flatMap(function() {
  console.log('I never see the message');
  return Bacon.once('some value');
});

为什么我在控制台中看不到任何内容?我该如何解决?

您看不到该值,因为流中没有订阅者。培根仅在添加第一个订阅者时才开始监听来自源的事件(并在移除最后一个订阅者时停止监听事件)。

您可以通过添加订阅者来解决这个问题,例如

var tickStream = Bacon.interval(INTERVAL);
var isMaster = tickStream.flatMap(function() {
  console.log('I never see the message');
  return Bacon.once('some value');
});
isMaster.onValue(function(value) { console.log(value) });