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

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

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

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

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

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

什么是宏任务与微任务分别有哪些?

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

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