全部 / 前端 / 技术 · 2022年7月15日 0

32 – Timers 和 Intervals

广告位招租 (vx: ghostcode, 备注:网站广告)

原文地址: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);

setIntervalsetTimeout 的语法一样,在 setInterval 中,控制台将会每隔 2s 打印出 "hello",代码会一直打印字符串直到我们清除间隔定时器。

停止/清空定时器

setTimeoutsetInterval 都会返回一个唯一的 ID,如果我们把 ID 保存到一个变量,我们可以通过它清空/停止定时器。

清空定时器使用 clearTimeout,清空间隔定时器使用 clearInterval

const intervalId = setInterval(() => {
    console.log("hello");
}, 2000);

clearInterval(intervalId);