const promise = new Promise((resolve, reject) => {
console.log(1);
resolve();
console.log(2);
setTimeout(()=>{
console.log(7);
})
});
promise.then(() => {
console.log(3);
setTimeout(()=>{
console.log(6);
})
});
setTimeout(()=>{
console.log(5);
})
console.log(4);
setTimeout(fn, 0)在下一轮“事件循环”开始时执行,Promise.then()在本轮“事件循环”结束时执行。