这几天准备面试 在看到event loop的时候发现个问题
fs.readFile('./as.js', () => {
console.log('io');
});
const now = Date.now();
while(true){
if(Date.now() - 1000 > now){
break;
}
}
setImmediate(() => {
console.log('setImmediate')
})
就是上述的代码 理论上 输出io这段任务应该进入io callback阶段 输出setImmediate这段任务进入 check阶段 根据时间循环应该先输出 io 其次是setImmediate
但实际输出是相反的哪位大佬能解释下原因