什么是宏任务和微任务

136 阅读1分钟

1. 什么是宏任务和微任务

JavaScript 把异步任务又做了进一步的划分,异步任务又分为两类

1: 宏任务(macrotask):

  • 异步 Ajax 请求、
  • setTimeout、setInterval、
  • 文件操作
  • 其它宏任务
  • DOM事件

2: 微任务(microtask):

  • Promise.then、.catch 和 .finally
  • process.nextTick
  • 其它微任务

2. 宏任务和微任务的执行顺序

  • 每一个宏任务执行完之后,都会检查是否存在待执行的微任务
  • 如果有,则执行完所有微任务之后,再继续执行下一个宏任务。
  • 先执行微任务,在执行宏任务

lizi.png