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 !