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