2014-03-26 72 views
0

第一处理程序侦听消息的一些信道,并且如果存在一个传入消息,它设置间隔:如何使用CoffeeScript查找所有设置的时间间隔?

toggleFlagInterval = setInterval (-> toggleFlag), 500

消息可以是任意地多,但我需要设置仅一个间隔。

二处理器读取消息,并在其中我想删除的时间间隔:

clearInterval toggleFlagInterval

我想控制是0或者一个区间。 要做到这一点,我需要找到所有设置的时间间隔。

如何使用CoffeeScript查找所有设置的间隔?

我将非常感谢您的帮助。 感谢所有。

回答

2

这没有意义。无论是否使用CoffeeScript,您都无法找到使用setInterval注册的所有函数(这将是一个JavaScript问题,与CoffeeScript无关)。你只需要自己跟踪它们。

好像在这个特定的情况下,你只需要有条件地选择而不是设置一个间隔,如果已经设置了。

要做到这一点,您的设置代码将使用?=

toggleFlagInterval ?= setInterval (-> toggleFlag), 500 

而且你的清除码将重置toggleFlagIntervalnull

clearInterval toggleFlagInterval 
toggleFlagInterval = null 

或者,您需要取消任何已经设置间隔当您设置一个新的点:

clearInterval(toggleFlagInterval) if toggleFlagInterval? 
toggleFlagInterval = setInterval (-> toggleFlag), 500 
+0

非常感谢您的回答! –