事件轮循过程

  1. 浏览器会将同步的代码任务(例如,简单的 JavaScript 代码,如函数或者变量声明)放入主线程中去执行。
  2. 对于那些异步任务(例如,setTimeout,Promises,fetch等),他们会被推送到任务队列或微任务队列。
  3. 当主线程中的所有同步任务都完成时,浏览器会查看微任务队列,如果有任何微任务(例如,Promise的then回调),它们将被一一取出并执行。
  4. 完成微任务队列的执行后,浏览器会执行渲染步骤,更新UI。
  5. 然后,浏览器会查看任务队列,如果有任何宏任务(例如,setTimeout的回调),浏览器会取出一个宏任务执行。
  6. 重复以上过程,即回到第3步,再次检查微任务队列,更新UI,然后再执行一个宏任务,如此循环。
posted @ 2023-10-16 13:57  夜未央唐汉  阅读(20)  评论(0)    收藏  举报