什么是requestIdleCallback?
requestIdleCallback
是浏览器提供的一个 API,用于在浏览器空闲时执行低优先级的任务,避免阻塞主线程,从而提升页面的性能和响应速度。它通常用于执行一些不需要立即完成的工作,比如日志记录、数据分析、渲染优化等。
1. 核心概念
- 空闲时间:浏览器在一帧(通常是 16.67ms)内完成布局、绘制等任务后,如果还有剩余时间,就会触发
requestIdleCallback
的回调。 - 回调参数:回调函数会接收一个
IdleDeadline
对象,包含以下属性:timeRemaining()
:返回当前帧剩余的毫秒数。didTimeout
:布尔值,表示任务是否因超时而被强制执行。
- 超时机制:可以通过
timeout
参数设置一个超时时间,如果在指定时间内浏览器仍未空闲,任务会被强制执行。
2. 使用场景
-
<