- 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: