process.nextTick()その参
setTimeout(function() { console.log('====Timeout.===='); }, 0); var counterFi = 0; setImmediate(function fi() { console.log('immediate. [%d]', ++counterFi); if(counterFi < 5) { setImmediate(fi); } }); var counterFn = 0; process.nextTick(function fn() { console.log('nextTick [%d]', ++counterFn); if(counterFn < 5) { process.nextTick(fn); } });
setTimeout()、setImmediate()、process.nextTick()を併用ってのはやってませんでした。どうなるか。
$ node app.js
nextTick [1]
nextTick [2]
nextTick [3]
nextTick [4]
nextTick [5]
====Timeout.====
immediate. [1]
immediate. [2]
immediate. [3]
immediate. [4]
immediate. [5]
I/Oはたぶん、nextTick[5]とTimeoutの間とimmediate[n]各回の後にあると思われ。勉強中なのでまだ確信はないのですが。