Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

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.

This method is not expected to become standard, and is only implemented by recent builds of Internet Explorer and Node.js 0.10+. It meets resistance both from Gecko (Firefox) and Webkit (Google/Apple).

Syntax

var immediateID = setImmediate(func, [param1, param2, ...]);
var immediateID = setImmediate(func);
  • where immediateID is the ID of the immediate which can be used later with window.clearImmediate.
  • func is the function you wish to call.

All parameters will be passed directly to your function.

Notes

The window.clearImmediate method can be used to clear the immediate actions, just like window.clearTimeout for window.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:

  • window.postMessage can be used to trigger an immediate but yielding callback. Do note that Internet Explorer 8 includes a synchronous version of postMessage, which means it cannot be used as a fallback.
  • 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 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 specification and not on a standards track.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic support
Non-standard
Chrome No support NoEdge Full support YesFirefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

See also

window.clearImmediate

Specification: Efficient Script Yielding

Microsoft setImmediate API Demo

Document Tags and Contributors

Last updated by: lucian95,