这是一个有趣的。我正在使用 FRP,并查看各种库(jQuery、Bacon.js)中的“去抖动”方法。我开始使用它,发现它几乎可以满足我的需求,但有细微的差别。这是我对 debounce 的理解,因为它与事件处理有关:
当一个事件至少以一定的频率发生时,不要做任何事情。一旦事件减慢到低于频率,触发事件处理程序。例如(伪代码)key-presses.debounce(1 second) then Alert
,如果按键在一秒钟内被按下,我们将看不到任何事情发生,直到最后一个按键被按下后 1 秒,然后我们会得到一个警报。
我需要的是在序列开始时触发的东西,而不是在结束之后。因此,对于同一个示例,我们会立即看到警报,然后什么也没有。如果用户在至少 1 秒后再次开始按键,我们会收到另一个警报,然后什么都没有。
代码很简单——我只想要一个名字。频率仍然需要一个参数:BeginSequence(1000)?到期后(1000)?
有什么建议么?