Node.js 中的计时功能

所述定时器模块Node.js包括能够控制和改变执行代码的定时不同的功能。在本文中,我们将看到如何使用其中一些功能。

setTimeout() 方法

setTimeout()方法在指定的毫秒数后调度代码执行。只有在超时发生后,代码才会被执行。指定的函数将只执行一次。此方法返回可在clearTimeout()方法中使用的 ID 。

语法

setTimeout(function, delay, [args])

参数

参数定义如下:

  • function - 此参数接受将要执行的函数的输入。

  • delay - 这是函数将被执行的持续时间。

  • args - 保存任何可选参数。

示例 

let str = 'nhooo!';

setTimeout(function () {
   // 将在 2 秒后打印
   return console.log(str);
}, 2000);

// 这将立即打印
console.log('Executing setTimeout() method');

输出

C:\home\node>> node timeout.js
Executing setTimeout() method
nhooo!

setImmediate() 方法

setImmediate()方法在当前事件循环周期结束时执行代码。setImmediate()参数中传递的函数是将在事件循环的下一次迭代中执行的函数。

语法

setImmediate(function, [args])

示例

即时.js

// 设置函数超时
setTimeout(function () {
   console.log('setTimeout() function running');
}, 5000);

// 在任何其他函数之前立即运行此函数
setImmediate(function () {
   console.log('setImmediate() function running');
});

// 直接打印语句
console.log('Simple statement in the event loop');

输出

C:\home\node>> node immediate.js
Simple statement in the event loop
setImmediate() function running
setTimeout() function running

setInterval() 方法

setInterval()方法在指定的时间间隔后执行代码。该函数在间隔过去后执行多次。该函数将继续调用,直到进程在外部停止或在指定时间段后使用代码。

语法

setInterval(function, delay, [args])

示例

间隔.js

setInterval(function() {
   console.log('Tutoirals Point - SIMPLY LEARNING !');
}, 1000);

输出

C:\home\node>> node interval.js
Tutoirals Point - SIMPLY LEARNING !
Tutoirals Point - SIMPLY LEARNING !
Tutoirals Point - SIMPLY LEARNING !
Tutoirals Point - SIMPLY LEARNING !
Tutoirals Point - SIMPLY LEARNING !
Tutoirals Point - SIMPLY LEARNING !
^C // Stopped externally using Ctrl+C