Node.js 中 process.nextTick 与 setImmediate 的执行顺序,别再死记硬背了
写 Node.js 的时候经常遇到这样的困惑:为什么 process.nextTick 的回调总比 setImmediate 先执行,但有时候 setImmediate 又跑到了 setTimeout 前面?面试题里反复出现「说出以下代码的输出顺序」,网上文章给了一堆结论,可换个场景结论就对不上。这个问题在真实开发中会影响日志时序、资源清理顺序、甚至导致回调里修改的状态被意外覆盖。根源在于 Node 的事件循环有多个阶段,而 process.nextTick 和微任务(Promise 回调)并不属于任何一个...