Node.js 的 setImmediate() 函數以特殊的方式與事件循環進行交互。
當你想要異步地執行某段代碼,並且盡快地執行時,可以使用 Node.js 提供的 setImmediate() 函數:
setImmediate(() => {
// 執行某些操作
})
傳遞給 setImmediate() 的任何函數都是在事件循環的下一次迭代中執行的回調函數。
setImmediate() 與使用 0ms 延遲的 setTimeout(() => {}, 0) 和 process.nextTick() 有何不同?
傳遞給 process.nextTick() 的函數將在當前的事件循環迭代中執行,在當前操作結束後執行。這意味著它總是在 setTimeout 和 setImmediate 之前執行。
具有 0ms 延遲的 setTimeout() 回調函數與 setImmediate() 非常相似。執行順序將取決於各種因素,但它們都會在事件循環的下一次迭代中運行。