IdleDeadline - 调用 Window.requestIdleCallback() 的参数的数据类型
IdleDeadline
接口用作通过调用 Window.requestIdleCallback()
建立的空闲回调的输入参数的数据类型。它提供了一个方法 timeRemaining()
,它可以让您确定用户代理估计它将保持空闲多长时间,还提供了一个属性 didTimeout
,它可以让你确定你的回调是否正在执行,因为它未到的超时持续时间。
要了解有关请求回调如何工作的更多信息,请参阅后台任务的协作调度。
属性
IdleDeadline.didTimeout
只读
一个布尔值,如果正在执行回调,则其值为 true
,因为它未到的超时持续时间。
方法
IdleDeadline.timeRemaining()
返回 DOMHighResTimeStamp
,它是一个浮点值,提供当前空闲时段内剩余毫秒数的估计值。如果空闲时间段结束,则值为 0
. 您的回调可以反复调用,以查看是否还有足够的时间在返回之前完成更多工作。
实例
请参阅文章后台任务 API 的协作调度中的完整示例。
规范
规范 | 状态 | 备注 |
---|---|---|
Cooperative Scheduling of Background Tasks | 候选推荐 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 47 | 不支持 | 55 53 | 不支持 | 34 | 不支持 |
didTimeout | 47 | 不支持 | 55 53 | 不支持 | 34 | 不支持 |
timeRemaining | 47 | 不支持 | 55 53 | 不支持 | 34 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 47 | 47 | 不支持 | 55 53 | 未知 | 37 | 不支持 |
didTimeout | 47 | 47 | 不支持 | 55 53 | 未知 | 37 | 不支持 |
timeRemaining | 47 | 47 | 不支持 | 55 53 | 未知 | 37 | 不支持 |