Node.js – 即时计时器类
即时计时器类用于调度我们在未来某一时间点需要调用的函数。可以使用“即时”计时器类和 setImmediate() 方法来调度这些任务。Immediate 类有一个用于 setImmediate() 方法的对象,它会将相同的对象传递给 clearImmediate()(如果它想要取消已调度的计时器函数的话)。
下面提供了即时类 ref 对象 −
1. immediate.ref()
如果immediate 对象活动时间过长且未退出,则会调用此方法。
语法
immediate.ref()
2. immediate.unref()
此对象保持事件循环处于“活动”状态,直到返回 False 为止,这会中断循环。
语法
immediate.Unref()
示例
创建一个名为 "immediate.js" 的文件并复制以下代码段。创建文件后,使用命令 "node immediate.js" 来运行此代码。
// Immediate Timer class Demo Example // Setting Immediate by setImmediate Method var Immediate = setImmediate(function immediate() { console.log("0.>",12); }); // Printing Immediate.ref before unref console.log("1. ",Immediate.ref()); // Printing Immediate.unref method console.log("2. ",Immediate.unref()); // Clears setInterval Immediate clearImmediate(Immediate); // Prints after clearing 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 !
广告