isInputPending()Limited availability
The navigator.scheduling.isInputPending() method checks if there are pending input events, such as touch or mouse events. This allows you to yield from long-running scripts that might be blocking user interaction.
Not yet supported in all major browsers — check the table and provide a fallback.
Discouraged: The navigator.scheduling.isInputPending() method may incorrectly return false and is not the only case where you might expect to yield. Use instead: Scheduler API
Browser support
How to use
Not supported in Firefox, Safari, Firefox Android, Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.
Example
Full syntax and examples are on MDN: scheduling.
Feature detection
if ("Scheduling" in globalThis && "isInputPending" in Scheduling.prototype) {
// Scheduling.isInputPending is available
}Documentation (MDN)
Specification
Sub-features
Support for each part of the feature (3). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| Navigator.scheduling | 87 | 87 | ✕ | ✕ | 87 | ✕ | ✕ |
| Scheduling | 87 | 87 | ✕ | ✕ | 87 | ✕ | ✕ |
| Scheduling.isInputPending | 87 | 87 | ✕ | ✕ | 87 | ✕ | ✕ |