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 !

更新时间:2021 年 10 月 29 日

180 次浏览

启动你的职业生涯

完成课程,获得认证

开始
广告