达拉~ 2022-05-18 21:08 采纳率: 64.7%
浏览 23
已结题

关于await顺序和其后面的代码


这个代码await a后面的代码为什么不执行了
```javascript
let a;
const b = new Promise((resolve, reject) => {
  console.log('promise1');
  resolve();
}).then(() => {
  console.log('promise2');
}).then(() => {
  console.log('promise3');
}).then(() => {
  console.log('promise4');
});

a = new Promise(async (resolve, reject) => {
  console.log(a);
  await b;
  console.log(a);
  console.log('after1');
  await a
  resolve(true);
  console.log('after2');
});

console.log('end');
```javascript

```

  • 写回答

1条回答 默认 最新

  • Heerey525 新星创作者: 前端开发技术领域 2022-05-18 23:17
    关注

    await a 和 resolve(true); 换一下位置即可,是因为 await a,迟迟没有等到resolve,处于pending阶段

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 修改了问题 5月20日
  • 创建了问题 5月18日