iweb-andy-app
Version:
82 lines (46 loc) • 926 B
JavaScript
/*
setImmediate( function B() {
console.log('7');
setTimeout( function () {
console.log('13');
}, 100)
// })
setImmediate (function (){
console.log('12');
})
process.nextTick( function() {
console.log('10');
})
})
process.nextTick( function C() {
console.log('2');
setTimeout( function () {
console.log('5');
}, 100)
// })
setImmediate (function (){
console.log('8');
})
process.nextTick( function() {
console.log('3');
})
})
console.log('1');
*/
let i = 0;
setImmediate(function tick() {
console.log(1);
if (i++ < 2) {
process.exit()
}
// setImmediate(tick)
process.nextTick(tick)
})
setTimeout(() => {
console.log(2); // 为什么不打印
}, 0)
// save-prefix='-'
// process.nextTick() // 不是 libuv 的东西,是node层面的
// macrotask(宏任务)
// microtask(微任务 process.nextTick, Promise.then/catch )
// microtask最大长度1000