事件循环eventloop

事件循环就是指js中事件的的执行顺序

js是单线程的,而任务分为

同步任务

异步任务 异步任务又分为

宏任务 script setimeout ajax ui render

微任务 promissory.nextick Promiss async / await 

 

 

 1.所有代码分为同步任务和异步任务,执行所有代码,同步任务进入主线程,形成执行站,异步任务进入事件表格。

2.表格中异步代码ok后进入,任务队列

3.任务队列分为宏任务队列,微任务队列,主线程ok,执行微任务,微任务全部执行,再执行下一个宏任务,将下一个宏任务放到执行站,区分同步代码异步循环往复

4.都是从一个宏任务开始,结束可能是一个宏任务也肯能是一个微任务。

注意事件循环里的难分析的是promiss 

 宏任务与微任务常常会有嵌套关系

1.宏->宏  加入宏任务队列

2.宏->微 加入微任务队列

3.微->宏 加入宏任务队列

4.微->微 新的微任务放入微任务队列,且会在下一个宏任务之前马上执行

/

new promiss。。。。。then。。。

then之前是同步任务

then之后是微任务

async 和 await 

await前同步任务

await后是微任务

注意promiss的。then一定要有返回结果才可以调用,放到微任务队列里。

async和await !!async2有疑问!!!

  此题关键在于了解async的特性及await关键字的作用,在含有await的async中,同一代码块中await后的所有代码将被放置返回的promise的then方法中执行,也即await后的代码将被加载进微任务队列,同时不含await的async函数与普通函数没有任何差别,由此不难得出结果为

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河马河马大河马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值