- Version:
v6.2.1
- Platform:
Darwin
- Subsystem:
timers
Documentation for setImmediate:
Schedules "immediate" execution of callback after I/O events' callbacks and before timers set by setTimeout and setInterval are triggered.
Demonstration:
console.log("nodejs version", process.versions.node);
console.log("start");
setTimeout(() =>
{
console.log("setTimeout 0 callback");
}, 0);
setTimeout(() =>
{
console.log("setTimeout 1 callback");
}, 1);
setImmediate(() =>
{
console.log("setImmediate callback");
});
setTimeout(() =>
{
console.log("setTimeout 0 after setImmediate callback");
}, 0);
setTimeout(() =>
{
console.log("setTimeout 1 after setImmediate callback");
}, 1);
process.nextTick(() => {
console.log("nextTick callback");
});
console.log("scheduled");
Observed outputs:
$ node test.js
nodejs version 6.2.1
start
scheduled
nextTick callback
setTimeout 0 callback
setTimeout 1 callback
setImmediate callback
setTimeout 0 after setImmediate callback
setTimeout 1 after setImmediate callback
$ node test.js
nodejs version 6.2.1
start
scheduled
nextTick callback
setTimeout 0 callback
setTimeout 1 callback
setTimeout 0 after setImmediate callback
setTimeout 1 after setImmediate callback
setImmediate callback
Expected output:
$ node test.js
nodejs version 6.2.1
start
scheduled
nextTick callback
setImmediate callback
setTimeout 0 callback
setTimeout 1 callback
setTimeout 0 after setImmediate callback
setTimeout 1 after setImmediate callback
v6.2.1DarwintimersDocumentation for
setImmediate:Demonstration:
Observed outputs:
Expected output: