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 定時器觸發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM