被问到 NextTick 是宏任务还是微任务

4,194 阅读1分钟

NextTick

等待下一次 DOM 更新刷新的工具方法。

cn.vuejs.org/api/general…

<https://cn.vuejs.org/api/general.html#nexttick>

从字面上看 就知道 肯定是个 异步的嘛。

然后面试官 那你来说说 js执行过程吧。 宏任务 微任务 来做做 宏任务 微任务输出的结果的题吧。

再然后 问问你 nextTick 既然几个异步的 那么他是 宏任务 还是个 微任务呀。

vue2 中

文件夹 src/core/util/next-tick.js 中

image-20240926175135221.png

promise --> mutationObserver -> setImmediate -> setTimeout

支持 哪个走哪个

vue3 中

image-20240926171628843.png

好吧 好吧 promise 了嘛

image-20240926174944844.png

全程 promise