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 次瀏覽

啟動你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.