window方法:requestIdleCallback()

2018-09-14 14:20 更新

requestIdleCallback()方法

在使用requestIdleCallback()方法之前,请仔细检查浏览器兼容性表。

该window.requestIdleCallback()方法将在浏览器的空闲时段内对要调用的函数进行排队。这使开发人员能够在主事件循环上执行后台和低优先级工作,而不会影响延迟关键事件,如动画和输入响应。函数通常以先进先出顺序调用;但是,如果需要,具有指定timeout的回调可能被调用为无序,从而在超时发生之前运行回调。

您可以在空闲回调函数内调用requestIdleCallback(),以便在下一次通过事件循环时安排另一个回调。

强烈建议使用一个timeout选项来完成所需的工作,否则在触发回调之前可能需要多秒。

requestIdleCallback()方法语法

var handle = window.requestIdleCallback(callback[, options])

返回值

一个ID,可用于通过将回调传递给window.cancelIdleCallback()方法来取消回调。

参数

callback
当事件循环空闲时,应该在不久的将来调用的函数的引用。回调函数传递一个IdleDeadline对象,该对象描述可用时间量以及是否因为超时期限到期而运行了回调。
options(可选)
包含可选的配置参数。目前只定义了一个属性:
  • timeout:如果timeout是指定的,具有正值,并且在timeout毫秒已经过去的时间里,回调还没有被调用,则回调将在接下来的空闲时间被调用,即使这样做会导致负面的性能影响。

规范

规范 状态 注释
后台任务的协同调度
Proposed Recommendation
初步定义

浏览器兼容性

电脑端 移动端
Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
Android webview Chrome for Android
Edge Mobile Firefox for Android
Opera for Android
iOS Safari
基本支持
(试验)
支持:47 不支持
支持:55

不支持 支持:34 不支持 支持:47 支持:47 不支持
支持:55

不支持
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号