【问题标题】:bacon.js - get value of stream/propertybacon.js - 获取流/属性的值
【发布时间】:2015-02-26 11:28:30
【问题描述】:

可能这是一个简单的问题,但我无法解决我的问题。我有两个流,并希望通过第一个流的负值映射第二个流。

jsfiddle - example

var price = change.map(1).scan(10, plus)
var money = buy.map(-price).merge(sale.map(price)).scan(100, plus);

【问题讨论】:

  • price 是一个属性,而不是一个值。试试price.map(function(p){ return -p; })
  • 只是我还是这真的太复杂了? :o
  • 这并没有那么复杂,通过一些练习,您会感觉将事件流/属性和值分开。使用命名函数和流会有所帮助。

标签: javascript frp bacon.js


【解决方案1】:

这个答案基本上就是bergi在cmets里说的。

var price = change.map(1).scan(10, plus)
var purchasePrice = price.map(function(p) { return -p }).sampledBy(buy)
var salePrice = price.sampledBy(sale)
var money = purchasePrice.merge(salePrice).scan(100, plus)

我使用property.sampledBy(stream) 而不是stream.map(property) - 他们做同样的事情,但在这里我认为使用sampledBy 更清晰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多