したがって、私は関数型プログラミングのパラダイムにかなり慣れていません。特に Bacon.js と FRP には慣れていません。FRP で制御フローを概念化する方法についてアドバイスが必要です。イベント ストリームにゼロまでカウントダウンするタイマーがあります。ゼロになったら、HTML タイマー カウンターを非表示にして、イベント ストリームを停止します。
timer.coffee
# decrement function
dec = (x,y) ->
x-y
# Create a timer counting down from 100 every 10th millisecond
timer = Bacon.interval(10, 1).scan(100, dec)
timer.onValue (e) ->
# output the current timer value to the DOM
$("#timer").text(e)
# if the timer has reached 0, hide the DOM object
$("#timer").hide() if e is 0
timer.html
<body>
<div id="timer"></div>
</body>
で行っているように、本当に if/else を使用して値をチェックし、関数を呼び出す必要がありますonValue()
か? なんとなく自分のやり方が間違っているような気がします。そして、eventStream に満足したら、どうすればそれを停止/閉じることができますか?