原文地址:https://dev.to/bhagatparwinder/timers-intervals-1b10
在 JavaScript 中,你若想在一个确定的时候后执行某段代码,就需要一个定时器。在固定的时间段后,你如果想重复执行代码则需要间隔定时器。
Timer
Timers 是使用 setTimeout
来实现的:
setTimeout(() => {
console.log("hello");
}, 2000);
第一个参数永远是一个函数或一段可执行的代码。在这个例子中,我们在控制台输出 "hello",第二个参数是定时器持续的毫秒,例子中 2s 后会在控制台打印 "hello"。
我们可以在第二个参数后面传递多个参数,这些参数会被传递到执行的函数里面。
Intervals
Intervals 是使用 setInterval
来实现的。
setInterval(() => {
console.log("hello");
}, 2000);
setInterval
与 setTimeout
的语法一样,在 setInterval
中,控制台将会每隔 2s 打印出 "hello",代码会一直打印字符串直到我们清除间隔定时器。
停止/清空定时器
setTimeout
和 setInterval
都会返回一个唯一的 ID,如果我们把 ID 保存到一个变量,我们可以通过它清空/停止定时器。
清空定时器使用 clearTimeout
,清空间隔定时器使用 clearInterval
。
const intervalId = setInterval(() => {
console.log("hello");
}, 2000);
clearInterval(intervalId);