IdleDeadline: timeRemaining() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The timeRemaining() method
of the IdleDeadline interface returns the estimated number of
milliseconds the user agent will remain idle for. The callback can call this method at
any time to determine how much time it can continue to work before it must return. For
example, if the callback finishes a task and has another one to begin, it can call
timeRemaining() to see if there's enough time to complete the next task. If
there isn't, the callback can just return immediately, or look for other work to do with
the remaining time.
By the time timeRemaining() reaches 0, it is suggested that the callback
should return control to the user agent's event loop.
Note:
The value returned by timeRemaining() is an estimate of how much time the user agent believes is available before the next latency-critical task needs to run. This estimate is not fixed and can suddenly drop to 0 if higher-priority work arrives. For example, the browser's estimate can change in the middle of an idle callback if the user clicks. Developers should not assume the value always decreases linearly like a countdown timer.
Syntax
timeRemaining()
Parameters
None.
Return value
A DOMHighResTimeStamp value (which is a floating-point number)
representing the number of milliseconds the user agent estimates are left in the current
idle period. The value is ideally accurate to within about 5 microseconds.
If the IdleDeadline object's didTimeout
property is true, this method returns zero.
Examples
See our complete example in the article Cooperative Scheduling of Background Tasks API.
Specifications
| Specification |
|---|
| requestIdleCallback()> # dom-idledeadline-timeremaining> |