2014-03-26 69 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

非常感謝您的回答! –