Бекон.js: практическое различие между потоком и свойством


Как новичок в Бэконе.js, я, кажется, не могу понять разницу между потоком событий и свойством.

  • свойства строятся из потоков (кроме свойств, построенных с помощью .constant?)
  • у них есть большинство общих методов
  • подписка на них работает точно так же

Может ли кто-нибудь объяснить различия и когда их использовать?

В приведенном ниже примере, stream и property имеют точно такое же поведение. Боюсь, я не смогу заглянуть дальше. этот.

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 4

1 ответ:

Бекон.JS свойства - это поведение в литературе FRP, а потоки событий - это просто события. Они выглядят очень похожими, но семантически они очень разные.

Познакомьтесь с концепциями FRP, например, прочитав этот ответ.