穩定性: 5 - 鎖定
所有的定時器函數都是全局的。不需要通過 require()
就可以訪問。
delay
毫秒之后執行 callback
。返回 timeoutObject
對象,可能會用來 clearTimeout()
。你也可以給回調函數傳參數。
需要注意,你的回調函數可能不會非常準確的在 delay
毫秒后執行,Node.js 不保證回調函數的精確時間和執行順序。回調函數會盡量的靠近指定的時間。
阻止一個 timeout 被觸發。
每隔 delay
毫秒就重復執行 callback
。返回 timeoutObject
對象,可能會用來 clearTimeout()
。你也可以給回調函數傳參數。
阻止一個 interval 被觸發。
setTimeout
和 setInterval
所返回的值,擁有 timer.unref()
方法,它能讓你創建一個活動的定時器,但是它所在的事件循環中如果僅剩它一個計時器,將不會保持程序運行。如果計時器已經調用了 unref
,再次調用將無效。
在 setTimeout
場景中,當你使用 unref
并創建了一個獨立定時器它將會喚醒事件循環。創建太多的這樣的東西會影響事件循環性能,所以謹慎使用。
如果你之前已經使用 unref()
一個定時器,就可以使用 ref()
來明確的請求定時器保持程序打開狀態。如果計時器已經調用了 ref()
,再次調用將無效。
在 setTimeout
和 setInterval
事件前,在輸入/輸出事件后,安排一個 callback
"immediate" 立即執行。
immediates 的回調以它們創建的順序加入隊列。整個回調隊列會在事件循環迭代中執行。如果你將immediates 加入到一個正在執行回調中,那么將不會觸發immediate,直到下次事件循環迭代。
停止一個 immediate 的觸發。