Skip to content

事件循环机制(Event Loop)

什么是循环机制

在介绍事件循环机制之前,我们要首先了解以下什么是事件循环机制,我们首先看下下面这段代码的执行顺序,正确的执行顺序应该是序号1>4>3>5>2

ts
console.log(1);
setTimeout(()=>{
  console.log(2);
},500)
new Promise((resolve)=>{
    console.log(4);
    resolve(5)
}).then(res=>{
   console.log(res);
})
console.log(3);

事件循环的执行过程

  1. 同步代码,调用栈执行后直接出栈
  2. 异步代码,放到Web API中,等待时机,等合适的时候放入回调队列(callbackQueue),等到调用栈空时eventLoop开始工作,轮询
  3. 微任务执行时机比宏任务要早