大前端:练习题-理解JS异步编程、EventLoop、消息队列、宏任务、微任务

  1. EventLoop
    事情循环,监听调用栈和消息队列。 当代码从上往下依次执行时,它们会依次压入调用栈。如果中间穿插了有异步代码,比如settimeout定时器。定时器在被压入栈的同时会开启一个倒计时。当栈内存中的函数执行完并且settimeout倒计时结束,settimeout的匿名函数会被消息队列。这时事件循环开始工作,它会监听到,消息列队中有数据,将消息队列中的第一个函数压入调用栈,执行该函数。
  2. 消息队列
    可以看做等待执行任务的列表。调用栈负责执行任务,消息列表负责管理任务,让它们排好队。事情循环负责中间协调,把消息队列的任务送到调用栈中执行该任务。
  3. 宏任务
    回调队列中的任务
  4. 微任务
    宏任务执行过程中临时加一些额外需求,这些需求可以做为一个新的宏任务重新到队列中去排队,也可以做为当前任务的一个微任务,当前任务执行完毕后立即执行,无需再去队列中排队。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值