W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
穩(wěn)定性: 5 - 鎖定
Node.js定時(shí)器模塊提供了全局API,用于在以后的某個(gè)時(shí)間段調(diào)用函數(shù)。
所有的定時(shí)器函數(shù)都是全局的。不需要通過(guò)require()
就可以訪問(wèn)。
delay
毫秒之后執(zhí)行callback
。返回timeoutObject
對(duì)象,可能會(huì)用來(lái)clearTimeout()
。你也可以給回調(diào)函數(shù)傳參數(shù)。
需要注意,你的回調(diào)函數(shù)可能不會(huì)非常準(zhǔn)確的在delay
毫秒后執(zhí)行,Node.js不保證回調(diào)函數(shù)的精確時(shí)間和執(zhí)行順序?;卣{(diào)函數(shù)會(huì)盡量的靠近指定的時(shí)間。
阻止一個(gè)timeout被觸發(fā)。
每隔delay
毫秒就重復(fù)執(zhí)行callback
。返回timeoutObject
對(duì)象,可能會(huì)用來(lái)clearTimeout()
。你也可以給回調(diào)函數(shù)傳參數(shù)。
阻止一個(gè)interval被觸發(fā)。
setTimeout
和setInterval
所返回的值,擁有timer.unref()
方法,它能讓你創(chuàng)建一個(gè)活動(dòng)的定時(shí)器,但是它所在的事件循環(huán)中如果僅剩它一個(gè)定時(shí)器,將不會(huì)保持程序運(yùn)行。如果定時(shí)器已經(jīng)調(diào)用了unref
,再次調(diào)用將無(wú)效。
在setTimeout
場(chǎng)景中,當(dāng)你使用unref
并創(chuàng)建了一個(gè)獨(dú)立定時(shí)器它將會(huì)喚醒事件循環(huán)。創(chuàng)建太多的這樣的東西會(huì)影響事件循環(huán)性能,所以謹(jǐn)慎使用。
如果你之前已經(jīng)使用unref()
一個(gè)定時(shí)器,就可以使用ref()
來(lái)明確的請(qǐng)求定時(shí)器保持程序打開(kāi)狀態(tài)。如果計(jì)時(shí)器已經(jīng)調(diào)用了ref()
,再次調(diào)用將無(wú)效。
在setTimeout
和setInterval
事件前,在輸入/輸出事件后,安排一個(gè)callback
"immediate"立即執(zhí)行。
immediates的回調(diào)以它們創(chuàng)建的順序加入隊(duì)列。整個(gè)回調(diào)隊(duì)列會(huì)在事件循環(huán)迭代中執(zhí)行。如果你將immediates加入到一個(gè)正在執(zhí)行回調(diào)中,那么將不會(huì)觸發(fā)immediate,直到下次事件循環(huán)迭代。
用于停止一個(gè)immediate的觸發(fā)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: