JS之微任务和宏任务的执行顺序

2024-03-20 11:41:4301:49 68
声音简介

JS之微任务和宏任务的执行顺序。
JavaScript 中微任务(Microtask)和宏任务(Macrotask)的执行顺序是由事件循环(Event Loop)来管理的。在一次事件循环中,宏任务执行完成后,会先执行所有微任务,然后再执行下一个宏任务。
具体来说,事件循环中的执行顺序如下:
1. 执行一个宏任务(例如:整体代码、setTimeout、setInterval、I/O、UI 渲染等)。
2. 执行过程中,如果产生了微任务(例如:Promise 的 then/catch/finally),则将微任务添加到微任务队列。
3. 宏任务执行完毕后,检查微任务队列,依次执行所有微任务,直到微任务队列为空。
4. 检查是否需要进行 UI 重渲染,如果需要则进行渲染。
5. 重复以上步骤,执行下一个宏任务。
这里需要注意的是,微任务比宏任务优先级更高,因此在一次事件循环中,微任务总是在下一个宏任务之前执行。这保证了微任务能够尽可能快地执行,从而在当前事件循环中处理完异步操作,避免了一些问题,比如优先级反转和防止 UI 渲染阻塞等。
因此,总体来说,JavaScript 中微任务和宏任务的执行顺序可以归纳为:
1. 当前宏任务执行完毕后,立即执行所有微任务。
2. 微任务执行完毕后,检查是否需要进行 UI 渲染。
3. 执行下一个宏任务。

用户评论

表情0/300
喵,没有找到相关结果~
暂时没有评论,下载喜马拉雅与主播互动
音频列表
猜你喜欢
任务

完成系统任务

by:蓝气球的帅

热点任务

关注喜马拉雅热点任务

by:读_经典

任务专辑

这是完成任务的专辑主要是为了提升我的主播等级并不是听的哟

by:本牙哎本芽

任务,勿听

节目内容:自己练习普通话的专辑主播介绍:新人主播,适合人群:宝妈,宝爸,小朋友你将收获:进步

by:风霆娱乐

练习任务

练习任务学习中ING

by:柴欢喜

每日任务

收集自己的声音,有好的有不好的,都是成长过程,每天都成长一点点

by:博宇盈枫_玖贰陆剧社