Node.jsAPI中如何使用timer模塊

小編這次要給大家分享的是Node.js API中如何使用timer模塊,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)公司堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站設計、網(wǎng)站建設、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),成都微信小程序,軟件定制制作等一站式互聯(lián)網(wǎng)企業(yè)服務。

timer 模塊暴露了一個全局的 API,用于在某個未來時間段調(diào)用調(diào)度函數(shù)。

因為定時器函數(shù)是全局的,所以使用該 API 無需調(diào)用 require(‘timers')。
Node.js 中的計時器函數(shù)實現(xiàn)了與 Web 瀏覽器提供的定時器類似的 API,
它使用了一個不同的內(nèi)部實現(xiàn),它是基于 Node.js 事件循環(huán)構建的。

setImmediate(callback[, …args])

說明:

預定立即執(zhí)行的 callback,不需要傳遞等待時間,在當前執(zhí)行棧執(zhí)行完畢后會立即執(zhí)行setImmediate綁定的回調(diào)函數(shù)。
callback: 當前回合結束時要調(diào)用的函數(shù)
…args: 當調(diào)用 callback 時要傳入的可選參數(shù)

demo:

setImmediate(() => {
 console.log('Immediate');
});

clearImmediate(immediate)

說明:

取消一個由 setImmediate() 創(chuàng)建的 Immediate 對象。
immediate: setImmediate() 返回的 Immediate 對象。

demo:

var immediate = setImmediate(() => {
 console.log('Immediate');
});
clearImmediate(immediate)

setInterval(callback, delay[, …args])

說明:

預定每隔 delay 毫秒重復執(zhí)行的 callback。
callback: 定時器到點時要調(diào)用的函數(shù)。
delay: 調(diào)用 callback 之前要等待的毫秒數(shù)。delay 大于 2147483647 或小于 1 時,delay 會被設為 1。
…args: 調(diào)用 callback 時要傳入的可選參數(shù)。

demo:

setInterval((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
// xiaoqiang
// xiaoqiang
// xiaoqiang
// xiaoqiang
// xiaoqiang

clearInterval(timeout)

說明:

取消一個由 setInterval() 創(chuàng)建的 Timeout 對象
timeout: setInterval() 返回的 Timeout 對象

demo:

var timeout = setInterval((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
clearInterval(timeout);

setTimeout(callback, delay[, …args])

說明:

預定在 delay 毫秒之后執(zhí)行的單次 callback。
callback: 定時器到點時要調(diào)用的函數(shù)。
delay: 調(diào)用 callback 之前要等待的毫秒數(shù)。delay 大于 2147483647 或小于 1 時,delay 會被設為 1。
…args: 調(diào)用 callback 時要傳入的可選參數(shù)。

demo:

setTimeout((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
//xiaoqiang

clearTimeout(timeout)

說明:

取消一個由 setTimeout() 創(chuàng)建的 Timeout 對象
timeout: setTimeout() 返回的 Timeout 對象

demo:

var timeout = setTimeout((str) => {
 console.log(str);
}, 1000, 'xiaoqiang');
clearTimeout(timeout);

timeout.unref()

說明:

當調(diào)用此方法時,說明定時器不要求事件循環(huán)保持活動狀態(tài),在callback執(zhí)行之前如果沒有其他任務保持事件循環(huán)活躍,
則Node進程退出,callback不會執(zhí)行。
setTimeout(),setInterval()方法返回的Timeout對象都具有此方法。

demo:

var timeout = setTimeout((str) => {
 console.log(str);
}, 5000, 'xiaoqiang');
timeout.unref();
//進程立馬退出,不會執(zhí)行callback

timeout.ref()

說明:

當調(diào)用此方法時,說明定時器要求事件循環(huán)保持活動狀態(tài)。所有定時器默認都會保持事件循環(huán)的活動狀態(tài),所以不需要單獨調(diào)用此方法。
除非之前使用timeout.unref()更改了默認值。

demo:

var timeout = setTimeout((str) => {
 console.log(str);
}, 5000, 'xiaoqiang');
timeout.unref();
timeout.ref()
//xiaoqiang

看完這篇關于Node.js API中如何使用timer模塊的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

網(wǎng)頁標題:Node.jsAPI中如何使用timer模塊
網(wǎng)站地址:http://www.muchs.cn/article4/ghgcie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、關鍵詞優(yōu)化、網(wǎng)站建設建站公司、網(wǎng)站排名微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管