【问题标题】:Should I unplug single-value stream from Bacon.Bus?我应该从 Bacon.Bus 中拔出单值流吗?
【发布时间】:2015-11-09 06:21:52
【问题描述】:

例如

var stream = new Bacon.Bus();
for(var i = 0; i < 4; i++) {
  stream.plug(Bacon.later(3000, 'value');
}

我可能对一些异步的东西有回调而不是 for 循环 + 其他值也被推送到流中。

【问题讨论】:

    标签: javascript frp bacon.js


    【解决方案1】:

    不需要拔掉流,只要它结束(流中有Bacon.end事件)。 Bacon 足够聪明,可以在没有内存泄漏的情况下处理结束流。

    如果您无法让流自然结束,但知道您只对一个值感兴趣,则可以使用.take(1) 创建单个值流。

    使用bus.plug 将流动态添加到总线通常是您的应用程序存在设计缺陷的标志。不看代码就不可能给出准确的建议,但您应该考虑重新组织代码,以便在开始时创建流链,并且只有值是动态的。它可能会涉及使用flatMap :)

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 2010-12-22
      • 2018-11-26
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多