gpt4 book ai didi

javascript - bacon.js 中的控制流,如何在给定时间做某事

转载 作者:行者123 更新时间:2023-11-30 10:26:59 25 4
gpt4 key购买 nike

所以我对函数式编程范例还很陌生,尤其是 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>

我真的应该像在 onValue() 中那样使用 if/else 来检查值并调用函数吗?不知怎的,感觉好像我做错了。当我对 eventStream 感到满意时,我该如何停止/关闭它?

最佳答案

定义流时,包含 takeWhile 以在条件结束时结束流。您可以使用 onEnd 在流结束时分配副作用。

关于javascript - bacon.js 中的控制流,如何在给定时间做某事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com