我需要一个像'debounce'这样的名字,但不完全一样

时间:2013-04-29 01:14:11

标签: nomenclature frp

这是一个有趣的。我正在使用FRP,并查看各种库中的'debounce'方法(jQuery,Bacon.js)。我开始使用它,并发现几乎做我需要的,但有一个微妙的区别。这是我对debounce的理解,因为它与事件处理有关:

当事件发生至少一定频率时,请勿做任何事情。一旦事件减慢到低于频率,就触发事件处理程序。例如({1}}的伪代码,如果按键在彼此的一秒内被按下,我们将看不到任何事情,直到最后一个按键被按下1秒后,我们才会收到警报。

我需要的是在序列开始时而不是在结束之后触发的东西。因此,对于同一个例子,我们会立即看到警报,然后什么都没有。如果用户在至少1秒后再次开始按键,我们会再次收到警报,然后再发送任何警报。

代码很简单 - 我只想要一个名字。频率仍需要一个参数:BeginSequence(1000)? AfterExpiry(1000)?

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

所以,如果在没有事件足够长的时间后发生事件,你想要一个事件吗? 我会把这个事件称为一个破坏性的事件,所以也许像breakSilence这样的事情?我不确定看起来是否合适,也许onBreakSilence,但我不熟悉培根的命名,所以我不知道是否使用了onX
另一种选择可能是listenAfter

key-presses.onBreakSilence(1 second) then Alert

key-presses.listenAfter(1 second) then Alert