console.log(1); let a = setTimeout(() => {console.log(2)}, 0); console.log(3); Promise.resolve(4).then(b => { console.log(b); clearTimeout(a); }); console.log(5);
console.log(1); let a = setTimeout(() => {console.log(2)}, 0); console.log(3); Promise.resolve(4).then(b => { console.log(b); clearTimeout(a); }); console.log(5);
console.log(1); let a = setTimeout(() => {console.log(2)}, 0); console.log(3); Promise.resolve(4).then(b => { console.log(b); clearTimeout(a); }); console.log(5); //先把同步的执行完,得:1,3,5 //还剩一个微任务(.then)和一个宏任务(setTimeout), //先执行微任务,再执行宏任务 //在微任务里得4, 然后clearTimeout(a)清除定时器,不再执行定时器 //所以结果是 1,3,5,4