Window: setImmediate() method
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.
Note: This method is not expected to become standard, and is nowadays only implemented by Node.js 0.10+. It meets resistance both from Gecko (Firefox) and Chromium/WebKit (Chrome/Safari).
Syntax
js
setImmediate(func)
setImmediate(func, param0)
setImmediate(func, param0, param1)
setImmediate(func, param0, param1, /* … ,*/ paramN)
Parameters
func
-
The function you wish to call.
param0
, …,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 ofsetImmediate
.
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
BCD tables only load in the browser