W3cubDocs

/Web APIs

Window: setImmediate() method

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

This method is used to break up long running operations and run a callback function immediately after the browser has completed other operations such as events and display updates.

Syntax

js

setImmediate(func)
setImmediate(func, param1)
setImmediate(func, param1, param2)
setImmediate(func, param1, param2, /* …, */ paramN)

Parameters

func

The function you wish to call.

param1, …, paramN

All parameters will be passed directly to your function.

Return value

The ID of the immediate which can be used later with window.clearImmediate.

Notes

The clearImmediate method can be used to clear the immediate actions, just like clearTimeout for setTimeout().

This method can be used instead of the setTimeout(fn, 0) method to execute heavy operations.

The feature can be emulated in a few different ways:

  • postMessage can be used to trigger an immediate but yielding callback.
  • MessageChannel can be used reliably inside of Web Workers whereas the semantics of postMessage mean it cannot be used there.
  • setTimeout(fn, 0) can potentially be used, however as it is clamped to 4ms for timers nested more than 5 levels deep per the HTML spec, it does not make for a suitable polyfill for the natural immediacy of setImmediate.

All of these techniques are incorporated into a robust setImmediate polyfill.

Specifications

Not part of any current specifications. The Efficient Script Yielding specification is no longer being worked on.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
setImmediate No 12–79 No 10 No No No No No No No No

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate