我使用Node.js與socket.io並有定時器的setInterval。確保setInterval不重複本身
我有以下的地方。我在斷開連接時清除間隔,並在設置間隔之前檢查。但是,如果我刷新頁面很多,它似乎不準確。控制檯日誌會以比一秒鐘快得多的時間間隔顯示「時間」,並將它們組合在一起。
任何建議,以確保一個新的計時器永遠不會啓動超過一次?
socket.on('disconnect', function() {
console.log('Disconnected');
clearInterval(timer);
});
if (typeof timer != 'undefined') {
clearInterval(timer);
}
var timer = setInterval(function() {
console.log('time');
}, 1000);
您可能需要發佈更多代碼才能看到問題。 – david 2012-03-16 18:28:54
所以......你只想執行一次......但是你正在使用'setInterval',它被設計用來執行一段代碼......每一個間隔。使用'setTimeout'。 – 2012-03-16 18:55:39