requestIdleCallback

The window.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
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 a DOMHighResTimeStamp.
  • 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

API DOM DOM Reference JavaScript timers Method Reference