1.微任务是啥

  1. //promise的回调函数、await后执行的下一步
  2. //await()执行后的一个事件即是
  3. await async2()
  4. console.log('async1 end')
  5. 等于
  6. new Promise((resolve, reject) => {
  7. // console.log('async2 end')
  8. async2()
  9. ...
  10. }).then(() => {
  11. // 执行async1()函数await之后的语句
  12. console.log('async1 end')
  13. })

2.宏任务是啥

  1. setTimeout,setInterval,ajax,Dom操作 浏览器规定的

3.宏任务和微任务的区别

  1. 微任务在DOM渲染之前执行
  2. 宏任务在DOM渲染之后执行

在当前的微任务没有执行完成时,是不会执行下一个宏任务的。