Node.js 中 setInterval() 方法的用途是什么?
setInterval() 方法帮助我们在固定延迟后重复执行一个函数。它返回一个唯一的间隔 ID,以后可以使用 clearInterval() 方法停止进一步重复执行该函数。
句法:
const intervalId = setInterval(func,
[delay, arg1, agr2, ..., argN]);
在哪里,
- func是我们要在延迟毫秒后重复执行的函数。
- delay(可选参数)是两次重复执行函数之间的延迟毫秒数。
- arg1, ..., argN(可选参数)是执行时将传递给func的参数。
示例 1:在此示例中,我们将看到无限次的函数执行。
当我们使用 setInterval() 方法并且不使用 clearInterval() 方法清除它时,它会无限次地执行传递给它的函数。当我们需要在每个固定间隔之后获取一些信息时,我们可以使用这样的 setInterval() 方法,例如在构建时钟时,我们需要计算和更新每秒后的秒数。下面提到了一个简单的代码示例,演示了这种 setInterval() 方法的使用。
Index.js
setInterval(() => {
console.log('HELLO GEEK');
}, 1000);
Index.js
let count = 0;
const intervalId = setInterval(() => {
console.log('HELLO GEEK');
count++;
if (count === 5) {
console.log('Clearing the interval id after 5 executions');
clearInterval(intervalId);
}
}, 1000);
Index.js
let count = 0;
// The arguments passed after the
// delay (in milliseconds) will
// be received in our function
// inside the setInterval() method
const intervalId = setInterval(
(a, b) => {
console.log(`The sum of ${a} and ${b} is ${a + b}`);
count++;
if (count === 5) {
console.log("Clearing the interval id after 5 executions");
clearInterval(intervalId);
}
},
1000,
5,
10
);
输出:
示例 2:在此示例中,我们将看到使用 clearInterval() 的有限执行次数。如果我们希望函数执行有限的次数,那么我们可以使用 clearInterval() 方法。我们可以通过将 setInterval() 方法返回的间隔 id 传递给 clearInterval() 方法来清除间隔。
句法:
clearInterval(intervalId)
下面提到的代码示例演示了使用 clearInterval() 方法来实现函数的有限重复执行。
索引.js
let count = 0;
const intervalId = setInterval(() => {
console.log('HELLO GEEK');
count++;
if (count === 5) {
console.log('Clearing the interval id after 5 executions');
clearInterval(intervalId);
}
}, 1000);
输出:
示例 3:在此示例中,我们将看到使用传递给 setInterval() 的参数。在延迟参数之后传递给 setInterval() 方法的参数由我们的函数接收,并且可以以所需的方式使用。下面提到的代码借助一个简单的代码示例对其进行了演示。
索引.js
let count = 0;
// The arguments passed after the
// delay (in milliseconds) will
// be received in our function
// inside the setInterval() method
const intervalId = setInterval(
(a, b) => {
console.log(`The sum of ${a} and ${b} is ${a + b}`);
count++;
if (count === 5) {
console.log("Clearing the interval id after 5 executions");
clearInterval(intervalId);
}
},
1000,
5,
10
);
输出: