Bacon.js:流和属性之间的实际区别

时间:2015-03-27 09:32:00

标签: javascript events bacon.js

作为bacon.js的新手,我似乎无法理解事件流和属性之间的区别。

  • 属性是从流构建的(使用.constant构建的属性除外?)
  • 他们有大多数共同的方法
  • 订阅它们的方式相同

有人可以解释这些差异以及何时使用哪些?

在下面的示例中,streamproperty具有完全相同的行为。我担心我没有看到这一点。

var stream = Bacon.sequentially(250, [1, 2, 3, 4, 5, 6, 7, 8]);
var property = stream.toProperty();

stream.onValue(function (val) {
    console.log("Stream", val);
});

property.onValue(function (val) {
    console.log("Property", val);
});

1 个答案:

答案 0 :(得分:5)

Bacon.js 属性是FRP文献中的行为 EventStreams 只是事件。它们看起来非常相似,但在语义上它们是非常不同的。

熟悉FRP概念,例如:阅读this answer