📜  Node.js 定时器模块(1)

📅  最后修改于: 2023-12-03 15:33:10.717000             🧑  作者: Mango

Node.js 定时器模块

在 Node.js 中,定时器模块提供了一些函数,可以使用它们执行某些操作或代码代码块的任务。

本文将介绍以下内容:

  • setInterval()clearInterval()
  • setTimeout()clearTimeout()
setInterval() 和 clearInterval()

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() 和 clearTimeout()

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() 函数来执行单个操作。

注意:在使用定时器时,请确保不会发生内存泄漏。因为这些函数不会自动释放内存,所以您必须妥善管理它们的生命周期。