浏览器宏任务:JavaScript 异步任务详解
浏览器宏任务是指在 JavaScript 代码执行过程中由浏览器提供的一些异步执行的任务。它们被添加到事件循环队列中,等待执行。常见的浏览器宏任务包括:
-
setTimeout和setInterval:定时器任务,用于延迟执行一段代码或周期性地执行一段代码。 -
DOM 事件:例如
click、load等事件,当用户与网页交互时触发。 -
Ajax 和 Fetch 请求:向服务器发送请求并接收响应时执行。
-
requestAnimationFrame:用于实现动画效果的定时器。 -
页面生命周期方法:例如
onload和onunload,当页面加载或卸载时执行。 -
延迟脚本加载:当页面加载完毕后再加载一些脚本文件。
-
MessageChannel:用于实现跨窗口通信或 Web Worker 与主线程通信。
浏览器宏任务的执行顺序是按照添加顺序依次执行的,每个任务执行完后会检查是否有微任务需要执行。因此,如果一个宏任务执行时间过长,会阻塞其他任务的执行,从而影响页面的性能。
原文地址: https://www.cveoy.top/t/topic/oXHk 著作权归作者所有。请勿转载和采集!