Skip to content

【Promise第29题】下面代码的输出是什么?

Posted on:2022年1月9日 at 23:15
async function async1() {
  console.log("async1 start");
  await async2();
  console.log("async1 end");
}
async function async2() {
  setTimeout(() => {
    console.log("timer");
  }, 0);
  console.log("async2");
}
async1();
console.log("start");

解析

定时器始终还是最后执行的,它被放到下一条宏任务的延迟队列中。

结果

'async1 start'
'async2'
'start'
'async1 end'
'timer'
原文转自:https://fe.ecool.fun/topic/96feb2bc-cdd7-4b16-be8a-e9d5af64a27b