Skip to main content

事件循环

历史时间线

年代技术/规范特性变化影响
1995JavaScript 诞生单线程同步模型简单但易阻塞
1999XMLHttpRequest 出现异步 HTTP 请求初现,通过回调函数处理异步任务增强异步能力
2005AJAX 普及任务队列(宏任务)支持异步任务
2009HTML5 Web APIs & Node.js 诞生明确事件循环、任务队列和微任务队列,推动高效异步调度提升整体异步性能
2010HTML5 Web Workers多线程与主线程协作分离耗时任务,提升响应
2011requestAnimationFrame API同步动画更新,与显示器刷新率同步,替代 setTimeout/Interval调度优化动画渲染性能与流畅度
2015ES6 Promise微任务队列异步代码结构化,改善回调地狱
2016Service Workers后台任务管理支持离线应用
2016IntersectionObserver API异步检测元素与视口交叉状态,触发懒加载与动画改善性能与用户交互体验
2018requestIdleCallback空闲任务调度更合理分配空闲时资源
2020ES2020 与现代 Web APIs(如 queueMicrotask)引入精细控制 API,结合新技术推动多线程与并行计算提升异步控制与整体性能
2020OffscreenCanvas API在工作线程中处理 Canvas 渲染,独立于主线程减轻主线程负担,优化图形渲染
2021queueMicrotask API显式控制微任务实现更细粒度的异步调度