事件循环笔试题

一张图片就是一题(这样省事)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

宏任务队列:ajax,setTimeout,setInterval,Dom监听,UI Rendering
微任务队列:Promise的then回调,Mutiation Oberver API ,queueMicrotask()等
main script 优先执行,然后执行微任务,再而宏任务;执行宏任务之前必须确保当前微任务队列已为空
注意!new Promise 里的代码是直接执行的噢!相当于main script,但如果里面有resolve()实现的then()方法,则then()会放入微任务队列。
再注意!async、await修饰的函数与普通函数一样,但要注意await修饰的函数执行完毕后返回了一个resolve.then( )方法,意味着原函数await 后面的函数体会被假如到 微任务队列中。
在做题的时候,在纸上写好main script 、 微任务、 宏任务 这三个区域,函数执行一步就在区域填写内容,主函数执行完就清空当前的微任务,再执行宏任务(执行宏任务前再次确保当前微任务队列为空!)

8.25号加更:若promise有链式调用,那么上一次then的返回值(没有明确返回值,默认返回undefined)会作为下一个then的值

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值