requestIdleCallback
The w
indow.requestIdleCallback()
method queues a function to be called during a browser's idle periods. This enables developers to perform background and low priority work on the main event loop, without impacting latency-critical events such as animation and input response. Functions are generally called in first-in-first-out order unless the function's timeout is reached before the browser calls it.
Syntax
JavaScript
Copy Code
var handle = window.requestIdleCallback(callback[, options])
Returns
An unsigned long integer that can be used to cancel the callback using the Window.cancelIdleCallback()
method.
Parameters
callback
- A reference to a function that should be called in the near future. The callback function takes a deadline argument with the following properties:
timeRemaining
: A reference to a method that returns aDOMHighResTimeStamp
.didTimeout
: A boolean that returns false if the callback was invoked by the user agent during idle, and true otherwise (e.g. if a timeout option was given and expired before there was sufficient idle time).
options
Optional- Contains optional configuration parameters. It has the following property:
timeout
: A deadline by which the browser must call the given callback function. This value is given in milliseconds.
Specifications
Specification | Status | Comment |
---|---|---|
Cooperative Scheduling of Background Tasks | Working Draft | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 47 | No support | No support | 34 | No support |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | No support | 47 | ? | ? | ? | ? | ? | 47 |
License
© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/window/requestidlecallback