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.
var immediateID = setImmediate(func, [param1, param2, ...]); var immediateID = setImmediate(func);
immediateIDis the ID of the immediate which can be used later with
funcis the function you wish to call.
All parameters will be passed directly to your function.
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.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.
- 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 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.
|Feature||Chrome||Firefox (Gecko)||Internet Explorer||Opera||Safari|
|Basic support||Not supported||Not supported||10||Not supported||Not supported|
|Feature||Android||Firefox Mobile (Gecko)||IE Mobile||Opera Mobile||Safari Mobile|
|Basic support||Not supported||Not supported||Not supported||Not supported||Not supported|