vue中nexttick实现原理的一个疑问?
vue源码里默认是使用微任务来执行nexttick中的回调
为什么把回调放在微任务中就可以在dom刷新以后执行了
然后又有:浏览器不支持promise的时候,会降级使用宏任务来执行回调
为什么这里既能用微任务又能用宏任务?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
vue源码里默认是使用微任务来执行nexttick中的回调
为什么把回调放在微任务中就可以在dom刷新以后执行了
然后又有:浏览器不支持promise的时候,会降级使用宏任务来执行回调
为什么这里既能用微任务又能用宏任务?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
简单的说就是微任务在渲染之后执行,微任务早于宏任务执行。这里的早也不是绝对的,得具体情况具体分析,但大致是这么回事。建议去了解下Event Loop。搜索下有很多分析的文章,理解了EventLoop之后自然就知道nextTick的原理了。