function job(){
sequenceB()
sequenceC()
}
function sequenceB(){
setTimeout(_ => console.log(`? Timeout at B`), 0);
Promise.resolve().then(_ => console.log('? Promise at B'));
}
function sequenceC(){
setTimeout(_ => console.log(`? Timeout at C`), 0);
Promise.resolve().then(_ => setTimeout(console.log('? Promise at C'), 1000));
}
job();
这里的打印顺序是什么?为什么?我似乎按照以下顺序得到输出:?Promise在B,?Promise在C,?Timeout在B,?Timeout在C
在Chrome(最新版本)和EDGE(最新版本)上进行了测试