Node.js – Immediate Timer 类

node.jsserver side programmingprogramming

Immediate Timer 类用于安排我们需要在未来某个时间段调用的函数。这些任务可以通过使用 Immediate Timer 类和 setImmediate() 方法进行安排。Immediate 类有一个用于 setImmediate() 方法的对象,并且当需要取消已安排的定时器函数时,它会将同一个对象传递给 clearImmediate() 方法。

以下是 Immediate 类引用对象 −

1. immediate.ref()

如果 immediate 对象处于活动状态的时间过长且未退出,则会调用此方法。

语法

immediate.ref()

2. immediate.unref()

此对象保持事件循环"活动",直到返回 False 为止,否则将中断循环。

语法

immediate.Unref()

示例

创建一个名为 "immediate.js" 的文件,并复制以下代码片段。创建文件后,使用命令 "node immediate.js" 运行此代码。

// Immediate 定时器类演示示例

// 通过 setImmediate 方法设置 Immediate 值
var Immediate = setImmediate(function immediate() {
   console.log("0.>",12);
});

// 在 unref 之前打印 Immediate.ref
console.log("1. >,Immediate.ref());

// 打印 Immediate.unref 方法
console.log("2. ",Immediate.unref());

// 清除 setInterval Immediate
clearImmediate(Immediate);

// 清除 Immediate 后打印
console.log("3. ","Thank you !");

输出

1. Immediate {
   _idleNext: null,
   _idlePrev: null,
   _onImmediate: [Function: immediate],
   _argv: undefined,
   _destroyed: false,
   [Symbol(refed)]: true,
   [Symbol(asyncId)]: 5,
   [Symbol(triggerId)]: 1 }
2. Immediate {
   _idleNext: null,
   _idlePrev: null,
   _onImmediate: [Function: immediate],
   _argv: undefined,
   _destroyed: false,
   [Symbol(refed)]: false,
   [Symbol(asyncId)]: 5,
   [Symbol(triggerId)]: 1 }
3. Thank you !

相关文章