首页 > 试题广场 >

关于以下代码输出结果顺序说法正确的是:(async()=&g

[单选题]
关于以下代码输出结果顺序说法正确的是:
(async () => {
    console.log(1);
    setTimeout(() => {
        console.log(2);
}, 0);
await new Promise((resolve, reject) => {
    console.log(3);
}).then(() => {
    console.log(4);
});
    console.log(5);
})();

  • 1、2、3、4、5
  • 1、5、3、4、2
  • 1、3、2
  • 1、3、5、2
1、首先输出 1(同步任务)
2、输出new promise 中的 3
3、因为没有resolve或reject,promise一直处于padding状态,导致.then永远不会执行
4、因为是await,需要等待await执行完成才会执行下面的console.lot(5),可是没有resolve或reject,永远不会执行完成,所以不输出
5、输出2
发表于 2021-09-28 14:12:31 回复(0)