事件循环

69 阅读1分钟

js是单线程的,也就是所有的任务都需要排队,如果前面的任务没有执行完,那么后面的任务就需要一直等,这样用户体验很差,所以就有了异步的概念。

同步任务:在主线程排队的任务

异步任务:不进入主线程,会被放进任务队列。分为宏任务和微任务

  • 宏任务:script,setTimeout,setInterval
    
  • 微任务:promise,nextTick
    

同步任务依次执行完之后,会从任务队列中拿到宏任务来执行,宏任务执行完后会执行该任务中的微任务,以此循环。即事件循环。