Node.js API —— Timers(定時器)

 // 說明
    Node API 版本爲 v0.10.31。
    中文參考:http://nodeapi.ucdok.com/#/api/ 
    本段爲博主註解。

目錄

定時器
    ○ setTimeout(callback, delay, [arg], [...])
    ○ clearTimeout(timeoutObject)
    ○ setInterval(callback, delay, [arg], [...])
    ○ clearInterval(intervalObject)
    ○ unref()
    ○ ref()
    ○ setImmediate(callback, [arg], [...])
    ○ clearImmediate(immediateObject)
 穩定性:5 - 鎖定
    全部的定時器函數都是全局的。你不須要爲了使用它們而 require() 這個模塊。

setTimeout(callback, delay, [arg], [...])

    計劃在 delay 毫秒以後執行一個一次的 callback。返回一個 timeoutObject 以供 clearTimeout() 在有須要的時候使用。可選地,你也能夠傳遞參數給回調函數。
    重要值得注意的是,你的回調函數極可能不是在準確的 delay 毫秒以後被調用—— Node.js 不保證回調函數執行的準確時間和執行的順序。回調函數只是儘量地靠近指定的時間去執行。

clearTimeout(timeoutObject)

     阻止一個 timeout 定時器觸發。

setInterval(callback, delay, [arg], [...])

    計劃每隔 delay 毫秒以後重複執行 callback。返回一個 intervalObject 以供 clearInterval() 在有須要的時候使用。可選地,你也能夠傳遞參數給回調函數。

clearInterval(intervalObject)

    中止一個 interval 定時器的觸發。

unref()

    setTimeoutsetInterval 返回的不透明的值也有 timer.unref() 方法,能讓你建立一個活躍的定時器,但若是它是事件循環中僅剩的元素時,將不會令程序保持運行。若是定時器已經被 unref,再次調用 unref 不會有任何影響。
    在 setTimeout 的狀況下當你 unref,你將建立另外一個會喚醒事件循環的定時器。建立太多這些定時器可能對事件循環的性能形成不利的影響——慎用。

ref()

    若是你以前已經 unref() 一個定時器,你能夠調用 ref() 明確地要求定時器保持程序運行。若是定時器已經被 ref,再次調用 ref 不會有任何影響。

setImmediate(callback, [arg], [...])

    計劃在 I/O 事件回調以後,setTimeoutsetInterval 以前」立刻「執行 callback。返回一個 immediateObject 以供 clearImmediate() 在有須要的時候使用。可選地,你要能夠傳遞參數給回調函數。
    immediate 事件都以建立的順序被放入隊列中,而且在每次事件循環迭代中從隊列頭彈出一個。這與 process.nextTick 不一樣,後者會在每次迭代中執行 process.maxTickDepth 個隊列中的回調函數。setImmediate 執行一個隊列中的回調函數後會放棄(對CPU的佔用)回到事件循環以保證 I/O 不至於沒法發起。當執行的順序被保存以後,其餘 I/O 事件可能會在任何兩個計劃的 immediate 回調函數之間執行。

clearImmediate(immediateObject)

    中止一個 immediate 定時器觸發。
相關文章
相關標籤/搜索