队列不为空,事件循环进入检查阶段"/>
为什么轮询队列不为空,事件循环进入检查阶段
fs.readFile('./1.js', (err, data) => {
console.log('starta');
setTimeout(() => console.log('settimeouta'), 20);
const now = new Date();
while (new Date() - now < 1000) {
}
console.log('before setIa')
setImmediate(() => {console.log('setImmediatea')})
});
fs.readFile('./1.js', (err, data) => {
console.log('startb');
setTimeout(() => console.log('settimeoutb'), 20);
const now = new Date();
while (new Date() - now < 1000) {
}
console.log('before setIb')
setImmediate(() => {console.log('setImmediateb')})
});
fs.readFile('./1.js', (err, data) => {
console.log('startc');
setTimeout(() => console.log('settimeoutc'), 20);
const now = new Date();
while (new Date() - now < 1000) {
}
console.log('before setIc')
setImmediate(() => {console.log('setImmediatec')})
});
1.js
非常小,所有 I/O 回调都有足够的时间进入轮询队列;但结果不符合预期,请告诉我为什么以及轮询检测顺序和优先级。
回答如下:
更多推荐
为什么轮询队列不为空,事件循环进入检查阶段
发布评论