vue中nexttick实现原理的一个疑问?

vue源码里默认是使用微任务来执行nexttick中的回调
为什么把回调放在微任务中就可以在dom刷新以后执行了

然后又有:浏览器不支持promise的时候,会降级使用宏任务来执行回调

为什么这里既能用微任务又能用宏任务?

nexttick源码

阅读 2.4k
1 个回答

简单的说就是微任务在渲染之后执行,微任务早于宏任务执行。这里的早也不是绝对的,得具体情况具体分析,但大致是这么回事。建议去了解下Event Loop。搜索下有很多分析的文章,理解了EventLoop之后自然就知道nextTick的原理了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题