在 Vue 官方文档上看到对 nextTick 的描述是在 DOM 更新之后执行回调:
但是它源码里面的实现逻辑是优先使用 Promise ,而 Promise 添加的是微任务,DOM 的渲染和绘制是在微任务队列完成之后才会执行的操作,那按道理说执行 nextTick 回调的时候,DOM 实际上还没有更新才对,我知道以前 nextTick 是优先使用的宏任务队列,如果是使用的宏任务队列那确实是在 DOM 更新之后才执行,不过现在都这么久了,是文档没有更新呢,还是我哪里理解错了呢?刚开始使用 Vue 的小白,希望大佬们指点指点。
组件更新的逻辑也是放在微任务里的,这时候你执行了nextTick其实微任务队列里有两个微任务,当然是顺序执行了