coderef

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

DesktopChrome
1–86Not supported
87+Supportedsince Nov 17, 2020
Current: 155
Edge
12–86Not supported
87+Supportedsince Nov 19, 2020
Current: 154
Firefox
✕Not supportedup to 157
Current: 157
Safari
✕Not supportedup to 27
Current: 27
MobileChrome Android
18–86Not supported
87+Supportedsince Nov 17, 2020
Current: 155
Firefox Android
✕Not supportedup to 157
Current: 157
Safari iOS
✕Not supportedup to 27
Current: 27

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

JS · check before using
if ("Scheduling" in globalThis && "isInputPending" in Scheduling.prototype) {
  // Scheduling.isInputPending is available
}

Sub-features

Support for each part of the feature (3). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
Navigator.scheduling8787✕✕87✕✕
Scheduling8787✕✕87✕✕
Scheduling.isInputPending8787✕✕87✕✕