WEB开发

JavaScript之EventLoop事件循环

2020-01-01  本文已影响0人  情有千千节

EventLoop事件循环

参考链接
Tasks, microtasks, queues and schedules

微任务、宏任务与Event-Loop

执行顺序

  1. 进入任务执行栈
  2. 同步任务进入主线程执行, 异步任务进入事件队列
  3. 同步任务执行完成后调取任务队列中的任务进入主线程执行
  4. 执行完成再次调取任务队列, 直到没有任务, 退出


    EventLoop1.png
    EventLoop.png

注意

  1. 异步任务要等主线程中的同步任务执行完之后才会执行, 如果主线程有耗时比较久的任务, 异步任务执行定时器什么的会有偏差
  2. 任务分为 宏任务和微任务

宏任务微任务

  1. 宏任务
  1. 微任务

Promise()属于宏任务, then()及catch 属于微任务

eventloop宏任务微任务.png
上一篇 下一篇

猜你喜欢

热点阅读