• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
社会优先于个人
博客园    首页    新随笔    联系   管理    订阅  订阅
宏任务和微任务的区别?

image

  1. 执行主代码块,如果是同步代码,按顺序直接进入主线程执行。
  2. 如果是promise的异步,就按顺序放到微事件队列里面。
  3. 如果是settimeOut的异步,就按顺序(要考虑计时器的时间谁先到谁先放入)放到宏事件队列里面。计时器开启后,并不是是到点就开始执行,要等上一个宏任务完成后,才执行。计时器只能决定你啥时候进入队列,不能决定你啥时候进入主线程执行。
  4. 同步代码全部执行完后,微事件队列的事件就会按顺序进入主线程。
  5. 等微事件队列全部执行完。这一次的宏任务结束。
  6. 开启下一个宏任务,即从宏事件队列中的第一个开始执行,又是一个宏任务的开启。
posted on 2022-02-09 15:41  社会优先于个人  阅读(210)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3