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.
setImmediate(func) setImmediate(func, param0) setImmediate(func, param0, param1) setImmediate(func, param0, param1, /* ... ,*/ paramN)
The function you wish to call.
param0, ..., paramN
All parameters will be passed directly to your function.
The ID of the immediate which can be used later with
This method can be used instead of the
setTimeout(fn, 0) method to execute
The feature can be emulated in a few different ways:
postMessagecan 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.
MessageChannelcan 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
All of these techniques are incorporated into a robust setImmediate polyfill.
Not part of any current specifications. The Efficient Script Yielding specification is no longer being worked on.
BCD tables only load in the browser