EventLoop事件模型

98 阅读1分钟

微信截图_20210919190247.png

  1. 浏览器会开启一个线程用与JS代码的执行,我们称之为主线程。
  2. 代码从上至下执行,遇到异步操作的时候按规则将要执行的任务加入到队列。
  3. 等待主线程当中的同步代码执行完成之后,就会去队列当中查看是否有满足执行规则的微任务,如果有,则拉到主线程当中执行,此时主线程就又被占用了。
  4. 如果存在可执行的微任务则优先执行微任务,直到所有可执行的微任务执行完毕,再去考虑宏任务。
  5. 在宏任务执行的过程中又会创建新的微任务被放入到队列当中,然后循环上述的规则,这个过程就是事件循环了。