
JavaScript 是单线程语言,通过事件循环(Event Loop)实现异步操作的管理。理解微任务与宏任务的执行机制,有助于掌握代码的实际执行顺序。
宏任务(Macrotask):每次事件循环中执行的一个完整任务单元,例如:
微任务(Microtask):在当前宏任务结束后、下一个宏任务开始前立即执行的任务,包括:
事件循环遵循以下规则:
立即学习“Java免费学习笔记(深入)”;
关键点:每个宏任务执行完后,必须清空当前所有的微任务,再进入下一个宏任务。
看一段典型代码来验证执行顺序:
console.log('1'); setTimeout(() => { console.log('2'); }, 0); Promise.resolve().then(() => { console.log('3'); }); console.log('4');输出结果是:1 → 4 → 3 → 2
解释:
微任务可以继续产生新的微任务,这些也会在同一轮中被处理:
Promise.resolve().then(() => { console.log('A'); Promise.resolve().then(() => { console.log('B'); }); }); console.log('C');输出为:C → A → B
因为第一个 then 是微任务,执行时又添加了一个微任务,这个新微任务会在本轮微任务队列中继续执行。
基本上就这些。只要记住:宏任务划分阶段,微任务穿插在中间且优先执行。不复杂但容易忽略细节。
以上就是JavaScript事件循环_微任务与宏任务执行机制的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号