我有一個setInterval
調用一個顯示動畫的循環。clearInterval後執行代碼
當I clearInterval
響應用戶輸入時,隊列中可能有一個或多個循環回調。如果我在clearInterval
語句後面直接插入函數調用,則函數調用將首先完成(打印某些內容),然後執行排隊循環回調,從而擦除我想要打印的內容。
請參閱下面的代碼。
function loop() {
// print something to screen
}
var timer = setInterval(loop(), 30);
canvas.onkeypress = function (event) {
clearInterval(timer);
// print something else to screen
}
什麼是最好的處理方法?延遲// print something else to screen
?在循環中進行新的打印?
編輯:謝謝你的答案。爲了將來的參考,我的問題是觸發額外打印的事件被隱藏在循環中,所以一旦執行該操作,控制權就交還給未完成的循環,然後重寫它。乾杯。