Node.js API詳解之 timer模塊用法實(shí)例分析
本文實(shí)例講述了Node.js API詳解之 timer模塊用法。分享給大家供大家參考,具體如下:
Node.js API詳解之 timer
timer 模塊暴露了一個(gè)全局的 API,用于在某個(gè)未來(lái)時(shí)間段調(diào)用調(diào)度函數(shù)。
因?yàn)槎〞r(shí)器函數(shù)是全局的,所以使用該 API 無(wú)需調(diào)用 require(‘timers')。
Node.js 中的計(jì)時(shí)器函數(shù)實(shí)現(xiàn)了與 Web 瀏覽器提供的定時(shí)器類似的 API,
它使用了一個(gè)不同的內(nèi)部實(shí)現(xiàn),它是基于 Node.js 事件循環(huán)構(gòu)建的。
setImmediate(callback[, …args])
說(shuō)明:
預(yù)定立即執(zhí)行的 callback,不需要傳遞等待時(shí)間,在當(dāng)前執(zhí)行棧執(zhí)行完畢后會(huì)立即執(zhí)行setImmediate綁定的回調(diào)函數(shù)。
callback: 當(dāng)前回合結(jié)束時(shí)要調(diào)用的函數(shù)
…args: 當(dāng)調(diào)用 callback 時(shí)要傳入的可選參數(shù)
demo:
setImmediate(() => { console.log('Immediate'); });
clearImmediate(immediate)
說(shuō)明:
取消一個(gè)由 setImmediate() 創(chuàng)建的 Immediate 對(duì)象。
immediate: setImmediate() 返回的 Immediate 對(duì)象。
demo:
var immediate = setImmediate(() => { console.log('Immediate'); }); clearImmediate(immediate)
setInterval(callback, delay[, …args])
說(shuō)明:
預(yù)定每隔 delay 毫秒重復(fù)執(zhí)行的 callback。
callback: 定時(shí)器到點(diǎn)時(shí)要調(diào)用的函數(shù)。
delay: 調(diào)用 callback 之前要等待的毫秒數(shù)。delay 大于 2147483647 或小于 1 時(shí),delay 會(huì)被設(shè)為 1。
…args: 調(diào)用 callback 時(shí)要傳入的可選參數(shù)。
demo:
setInterval((str) => { console.log(str); }, 1000, 'xiaoqiang'); // xiaoqiang // xiaoqiang // xiaoqiang // xiaoqiang // xiaoqiang
clearInterval(timeout)
說(shuō)明:
取消一個(gè)由 setInterval() 創(chuàng)建的 Timeout 對(duì)象
timeout: setInterval() 返回的 Timeout 對(duì)象
demo:
var timeout = setInterval((str) => { console.log(str); }, 1000, 'xiaoqiang'); clearInterval(timeout);
setTimeout(callback, delay[, …args])
說(shuō)明:
預(yù)定在 delay 毫秒之后執(zhí)行的單次 callback。
callback: 定時(shí)器到點(diǎn)時(shí)要調(diào)用的函數(shù)。
delay: 調(diào)用 callback 之前要等待的毫秒數(shù)。delay 大于 2147483647 或小于 1 時(shí),delay 會(huì)被設(shè)為 1。
…args: 調(diào)用 callback 時(shí)要傳入的可選參數(shù)。
demo:
setTimeout((str) => { console.log(str); }, 1000, 'xiaoqiang'); //xiaoqiang
clearTimeout(timeout)
說(shuō)明:
取消一個(gè)由 setTimeout() 創(chuàng)建的 Timeout 對(duì)象
timeout: setTimeout() 返回的 Timeout 對(duì)象
demo:
var timeout = setTimeout((str) => { console.log(str); }, 1000, 'xiaoqiang'); clearTimeout(timeout);
timeout.unref()
說(shuō)明:
當(dāng)調(diào)用此方法時(shí),說(shuō)明定時(shí)器不要求事件循環(huán)保持活動(dòng)狀態(tài),在callback執(zhí)行之前如果沒(méi)有其他任務(wù)保持事件循環(huán)活躍,
則Node進(jìn)程退出,callback不會(huì)執(zhí)行。
setTimeout(),setInterval()方法返回的Timeout對(duì)象都具有此方法。
demo:
var timeout = setTimeout((str) => { console.log(str); }, 5000, 'xiaoqiang'); timeout.unref(); //進(jìn)程立馬退出,不會(huì)執(zhí)行callback
timeout.ref()
說(shuō)明:
當(dāng)調(diào)用此方法時(shí),說(shuō)明定時(shí)器要求事件循環(huán)保持活動(dòng)狀態(tài)。所有定時(shí)器默認(rèn)都會(huì)保持事件循環(huán)的活動(dòng)狀態(tài),所以不需要單獨(dú)調(diào)用此方法。
除非之前使用timeout.unref()更改了默認(rèn)值。
demo:
var timeout = setTimeout((str) => { console.log(str); }, 5000, 'xiaoqiang'); timeout.unref(); timeout.ref() //xiaoqiang
希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。
相關(guān)文章
安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的全過(guò)程
有時(shí)候使用nvm管理node會(huì)發(fā)現(xiàn)無(wú)法使用node或npm,主要原因是環(huán)境變量沒(méi)有配置成功,下面這篇文章主要給大家介紹了關(guān)于安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的相關(guān)資料,需要的朋友可以參考下2023-03-03node.js中的fs.truncateSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.truncateSync方法使用說(shuō)明,本文介紹了fs.truncateSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12優(yōu)化Node.js Web應(yīng)用運(yùn)行速度的10個(gè)技巧
這篇文章主要介紹了優(yōu)化Node.js Web應(yīng)用運(yùn)行速度的10個(gè)技巧,本文講解了從并行、異步、緩存、gzip 壓縮、客戶端渲染等等技巧,需要的朋友可以參考下2014-09-09詳解nodejs http請(qǐng)求相關(guān)總結(jié)
這篇文章主要介紹了nodejs http請(qǐng)求相關(guān)總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03nodejs 實(shí)現(xiàn)釘釘ISV接入的加密解密方法
這篇文章主要介紹了nodejs 實(shí)現(xiàn)釘釘ISV接入的加密解密方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧,需要的朋友可以參考下2017-01-01三分鐘教會(huì)你用nodejs操作mysql數(shù)據(jù)庫(kù)
MySQL數(shù)據(jù)庫(kù)作為最流行的開(kāi)源數(shù)據(jù)庫(kù),基本上是每個(gè)web開(kāi)發(fā)者必須要掌握的數(shù)據(jù)庫(kù)程序之一了,基本使用?node.js上,最受歡迎的mysql包就是mysql模塊,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)三分鐘教會(huì)你用nodejs操作mysql數(shù)據(jù)庫(kù),需要的朋友可以參考下2023-05-05node跨域轉(zhuǎn)發(fā) express+http-proxy-middleware的使用
這篇文章主要介紹了node跨域轉(zhuǎn)發(fā) express+http-proxy-middleware的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05