理解 `nextTick` 与 `setImmediate` 在 Node.js 事件循环中的差异

各位观众老爷们,大家好!我是你们的老朋友——Bug终结者(暂定名,以后说不定改名叫代码诗人了😎)。今天,咱们不聊高深的算法,也不谈复杂的架构,就来唠唠嗑,聊聊Node.js事件循环中两个经常被提及,但又让人傻傻分不清的小伙伴:nextTick 和 setImmediate。 别看它们名字相似,好像是一对双胞胎,实际上,它们在事件循环中的地位和作用可是大相径庭!就像周杰伦和周星驰,虽然都姓周,但是一个玩音乐,一个拍电影,领域完全不一样嘛! 准备好了吗?搬好小板凳,泡好茶,咱们这就开始今天的“Node.js事件循环之 nextTick 与 setImmediate 恩怨情仇”!(这名字是不是有点狗血?管它呢,吸引眼球最重要!) 一、Node.js 事件循环:一切的舞台 在深入了解 nextTick 和 setImmediate 之前,我们先要对Node.js的事件循环有一个大致的了解。把它想象成一个永不停歇的舞蹈,各个阶段按照固定的顺序轮流上场,表演自己的节目。 事件循环大致可以分为以下几个阶段: Timers: 执行 setTimeout 和 setInterval 回调。 Pendin …