📅  最后修改于: 2023-12-03 15:33:10.717000             🧑  作者: Mango
在 Node.js 中,定时器模块提供了一些函数,可以使用它们执行某些操作或代码代码块的任务。
本文将介绍以下内容:
setInterval()
和 clearInterval()
setTimeout()
和 clearTimeout()
setInterval()
函数会持续地调用函数,直到通过 clearInterval()
函数停止它。该函数有两个参数:要执行的函数以及执行此函数的时间间隔(以毫秒为单位)。
例如,以下代码将在每个 1 秒钟打印一次 "Hello, world!",并通过 clearInterval()
函数停止它:
const intervalObject = setInterval(() => {
console.log("Hello, world!");
}, 1000);
// 5 秒后停止执行
setTimeout(() => {
clearInterval(intervalObject);
}, 5000);
输出示例:
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!
setTimeout()
函数在一段时间后执行一次函数,该函数具有任务的代码块。它还返回一个唯一的超时标识符,可用于取消任务。
例如,以下代码将在 3 秒后打印 "Hello, world!":
const timeoutObject = setTimeout(() => {
console.log("Hello, world!");
}, 3000);
如果您希望提前取消计划的任务,可以调用 clearTimeout()
函数并将超时标识符作为参数传递。例如:
clearTimeout(timeoutObject);
console.log("已取消执行任务。");
在上述示例中,因为 clearTimeout()
函数在三秒钟到期之前被调用,所以不会打印 "Hello, world!"。
使用 Node.js 的定时器模块可轻松超时或间隔性地执行操作或代码块。您可以使用 setInterval()
和 clearInterval()
函数来执行连续的操作,或使用 setTimeout()
和 clearTimeout()
函数来执行单个操作。
注意:在使用定时器时,请确保不会发生内存泄漏。因为这些函数不会自动释放内存,所以您必须妥善管理它们的生命周期。