宏任务是事件循环中每次只执行一个的完整执行单元,由宿主环境发起,执行后清空微任务队列再取下一个;常见类型包括整体script、setTimeout、UI事件、渲染、postMessage、Node.js I/O等。

宏任务是 JavaScript 事件循环中“一次完整执行单元”,每次事件循环只取一个宏任务来执行。它代表一个相对独立、粒度较大的异步操作入口,执行完后浏览器通常会进行 UI 渲染(如页面重绘),再进入下一轮循环。
它由宿主环境(浏览器或 Node.js)发起,不是 JS 引擎自身直接调度的;每个宏任务执行完毕后,JS 引擎会立即清空全部微任务队列,然后才取下一个宏任务;宏任务之间有明确边界,适合安排需与渲染同步或延时触发的操作。
以下都是标准或广泛支持的宏任务来源:
宏任务不是“比微任务慢的任务”,而是调度层级不同:宏任务是事件循环的“主节奏”,微任务是它的“插队者”——每次宏任务刚结束,就强制插进来一批高优任务执行。所以 setTimeout 的回调一定晚于 Promise.then,哪怕时间设为 0。
立即学习“Java免费学习笔记(深入)”;
基本上就这些。
以上就是JavaScript宏任务是什么_它包含哪些类型?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号