瞭解node中的setImmediate()

概述

當你想在node中執行異步代碼,並且想盡可能快的執行,那麼可以選擇node中的setImmediate()函數。

setImmediate(() => {
  //run something
})

任何傳給setImmediate()的函數參數,都是在事件循環(event loop)的下一個迭代被調用執行。

setImmediate()、setTimeout(() => {}, 0)、process.nextTick()區別

setTimeout()以0ms的延時執行函數參數,和setImmediate()類似,但是這兩個誰先執行,取決於多種因素,但是這兩個都是在事件循環的下一個迭代被調用執行。

傳給process.nextTick()的函數參數,是在事件循環的本次迭代最末尾執行,當前迭代的其他操作結束立刻執行該函數參數。這意味着process.nextTick()執行總是早於setImmediate()和setTimeout().

原文參考這裏

看到一篇很詳細文章,建議參考:細說setTimeout/setImmediate/process.nextTick的區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章