在 Node.js 中,定时器用于在一定的时间间隔后执行代码。Node.js 提供了两种定时器:setTimeout 和 setInterval。

1. setTimeout:

setTimeout 用于在一定的延迟后执行一次特定的代码。
// 在3秒后执行一次特定的代码
setTimeout(() => {
  console.log('3 seconds have passed.');
}, 3000);

2. setInterval:

setInterval 用于在每个一定的时间间隔后重复执行特定的代码。
// 每隔2秒执行一次特定的代码
const intervalId = setInterval(() => {
  console.log('2 seconds have passed.');
}, 2000);

// 在10秒后停止定时器
setTimeout(() => {
  clearInterval(intervalId);
  console.log('Interval timer stopped.');
}, 10000);

需要注意的是,setInterval 会在设定的时间间隔内不断执行,直到它被手动清除(使用 clearInterval)。在使用定时器时,应该小心处理,以避免潜在的内存泄漏问题。

3. setImmediate:

setImmediate 用于在当前事件循环的下一个迭代中执行代码,与 setTimeout 不同,它没有明确的延迟时间。
setImmediate(() => {
  console.log('This code will be executed in the next event loop iteration.');
});

这些定时器函数都是全局对象上的方法,因此可以在任何地方使用。它们是 Node.js 事件驱动模型中的重要组成部分,用于调度异步代码的执行。


转载请注明出处:http://www.zyzy.cn/article/detail/4779/Node.js