宏任务 微任务 Promise async await

295 阅读1分钟

执行顺序

  1. 同步任务
  2. nextTick
  3. 微任务
  4. 宏任务
  5. setTmmeditate (当前事件循环结束执行)

执行同步任务,再执行nextTick,再去任务队列执行异步任务(微任务),本轮任务队列里的微任务执行完了,然后执行宏任务,最后执行setImmediate

Promise

resolve("里面的值") 是 then((里的形参)=>{}) 在这里插入图片描述

async

async 函数返回的是 promise对象 在这里插入图片描述在这里插入图片描述

那么怎么才能拿到 “1” 呢? 可以使用 then() 能拿到 “1” 在这里插入图片描述

async 换成 promise 在这里插入图片描述

练习

  • 1.同步任务
  • 2.nextTick
  • 3.微任务
  • 4.宏任务
  • 5.setTmmeditate 如图所示 任务执行顺序: 在这里插入图片描述