gpt4 book ai didi

javascript - 忽略 FRP 事件流中的过去值

转载 作者:行者123 更新时间:2023-11-28 19:50:00 27 4
gpt4 key购买 nike

我正在使用BaconJS创建两个事件流,如下所示:

# Wait for start of the module
sStart = Bacon.fromCallback module.onStart.bind(module)
# Watch game ticks
sTick = Bacon.fromEventTarget emitter, 'tick'
# Combine it to do something
Bacon.onValues sStart, sTick, ->
# Do something on each tick, but only when module has been started

我想用它来同步。一旦模块启动,它应该开始监听滴答声,而不是更早。它几乎可以工作,但回调是为模块启动之前发出的所有过去的报价调用的,而不仅仅是最近的报价。我希望为接下来的每个刻度调用该回调。

我几乎是从 FRP 开始的,可能有一些优雅的方法来处理它,但我现在还没有看到它。有什么想法吗?

最佳答案

您可以使用 skipUntil 跳过值,如下所示。

startE = Bacon.fromCallback module.onStart.bind(module)
tickE = Bacon.fromEventTarget emitter, 'tick'
tickE.skipUntil(startE).onValue (tickValue) -> console.log tickValue

上面的 flatMap 解决方案也有效,但我发现 skipUntil 更容易阅读。

关于javascript - 忽略 FRP 事件流中的过去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23647811/

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