事情的起因是代码里用了nextTick,然后提交代码的时候才发现,引入的是process的,然后改成了使用vue的nextTick发现效果不生效了,然后百度查了查两者的区别:
process.nextTick是nodejs自带的,而在浏览器中执行时,会退化成setTimeout,相当于宏任务,速度慢(存疑,网上查到的大部分也把process.nextTick当做微任务,正常面试问,就说是微任务就行了)
vue的nextTick使用的都是promise,相当于微任务,速度快。(后续又深入了解了下,nextTick既可以是宏任务,又可以是微任务,在vue的版本中不停的改进优化)
可以参考下:https://juejin.cn/post/6875492931726376974
v2.0.0 - v2.4.4 微任务
v2.5.0 - v2.5.1 宏任务
v2.5.2 - v2.5.20 微宏并行
v2.6.0 - v2.6.12 微任务