宏任务(macro task)和微任务(micro task)是指在 JavaScript 中执行的不同类型的任务。

宏任务是指由浏览器提供的任务,通常是异步任务。宏任务包括:

  1. setTimeoutsetInterval 函数产生的定时器任务
  2. DOM 事件处理器中的任务
  3. XMLHttpRequestfetch 等网络请求的回调函数任务
  4. 执行整体的 script 代码块任务
  5. requestAnimationFrame 等动画相关的任务

微任务是指由 JavaScript 引擎提供的任务,通常是在当前执行栈为空时执行的任务。微任务包括:

  1. Promise 的回调函数任务
  2. MutationObserver 的回调函数任务

在任务队列中,微任务的优先级高于宏任务,即微任务总是在下一个宏任务之前执行。

JavaScript 宏任务与微任务:详解与对比

原文地址: https://www.cveoy.top/t/topic/qBwr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录