Promise.resolve().then(() => {
console.log(0);
return Promise.resolve(4);
}).then((res) => {
console.log(res)
})
Promise.resolve().then(() => {
console.log(1);
}).then(() => {
console.log(2);
}).then(() => {
console.log(3);
}).then(() => {
console.log(5);
}).then(() =>{
console.log(6);
})
先执行0 ->把Promise.resolve(4)塞到微任务->执行1->把then(2)塞到微任务->执行Promise.resolve(4)->把return 4塞到宏任务 ->执行(2)->把then(3)塞到微任务->执行宏任务将4.then()塞到微任务->执行3->执行4
想了很久,发现原来自己event loop的Promise掌握的不够
光知道promise微任务,setTimeout宏任务了