前端事件循环机制 宏任务 微任务 以及await 、async

浏览器中的事件循环机制:

1.  js代码浏览器执行中,事件循环机制除了按照函数调用机制进行执行以外,还要依靠事件任务队列来进行一些代码逻辑的执行,这个整体的过程我们叫做事件循环,一个线程中,事件循环是唯一的,但是任务队列可以拥有多个。任务队列又分为 macro-task(宏任务)和 micro-task(微任务)

macro-task(宏任务) 大概包括:

  • script(整体代码)
  • setTimeout
  • setInterval
  • setImmediate
  • I / O
  • UI render

micro-task(微任务) 大概包括:

  • process.nextTick
  • Promise.then
  • async / await (等价于 Promise.then)
  • MutationObserver(HTML5 新特性)

总体结论就是:

  • 执行宏任务
  • 然后执行宏任务产生的微任务
  • 若微任务在执行过程中产生了新的微任务,则继续执行微任务
  • 微任务执行完毕,再回到宏任务中进行下一轮循环
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值