Promise.resolve().then(() => console.log(2)); newPromise((resolve, reject) => {     resolve();  console.log(3); }).then(() => console.log(4)); setTimeout(() => {  Promise.resolve().then(() => console.log(5));      setTimeout(() => console.log(7), 0); }, 0);  setTimeout(() => console.log(6), 0); 首先主代码进入执行栈, 遇到第一句,将该promise压入微任务队列, 遇到第二句,打印 3 同时将该微任务压入promise 遇到第三句,将该任务压入宏任务 ,遇到第四句 将该任务压入宏任务 到此 主任务执行完毕,开始执行 微任务(微任务优先宏任务)  打印语句2, 打印语句4 到此 微任务执行完毕,开始执行 宏任务 =》 将微任务压入队列,将宏任务压入队列   执行完毕后 检测是否有微任务如果有就执行 打印5, 执行完毕后打印 宏任务 6 ,7  因此顺序是  3 2 4 5 6 7  
点赞 1

相关推荐

牛客网
牛客企业服务