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 withwindow.clearImmediate
. func
is the function you wish to call.
All parameters will be passed directly to your function.
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. Do note that Internet Explorer 8 includes a synchronous version ofpostMessage
, 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 levels deep per the HTML spec, it does not make for a suitable polyfill for the natural immediacy ofsetImmediate
.
All of these techniques are incorporated into a robust setImmediate polyfill.
Specifications
Specification | Status | Comment |
---|---|---|
[https://w3c.github.io/setImmediate/#si-setImmediate Efficient Script Yielding
The definition of ' |
Editor's Draft | Initial definition. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome
No support No |
Edge
No support 12 — 79 |
Firefox
No support No |
IE
Full support 10 |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No |
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.'
- Non-standard. Expect poor cross-browser support.
See also
Window.setImmediate() by Mozilla Contributors is licensed under CC-BY-SA 2.5.