淺談 JavaScript 提供兩種計時器。
單次計時器
經過指定秒數後執行。
setTimeout(function, ms);
setTimeout
單次計時器
function
實行的函數
ms
秒數,單位是 ms,如果要經過一秒執行則輸入 1000
例如
setTimeout(() => {
console.log('1s after run');
}, 1000)
如果設定好計時器後,想要取消這個計時器,該如何處理?
setTimeout
會回傳一個 pid
,可用來做取消的動作。
let timer = setTimeout(() => {
console.log('2s after run');
}, 2000);
此時 timer
為這次計時器的 pid
,使用 clearTimeout
來取消這次計時器。
clearTimeout(timer);
無限計時器
與單次計時器不同,無限計時器宣告後,每指定秒數會一直執行。
setInterval(function, ms);
setInterval
無限計時器
function
實行的函數
ms
秒數,單位是 ms,如果要經過一秒執行則輸入 1000
與單次計時器一樣,setInterval
也會回傳一個 pid
,使用 clearInterval
來取消。
let timer = setInterval(() => {
console.log('Infinite run eveny 2s');
}, 2000);
clearInterval(timer);