【JS】什么时候应该使用await

2024 年 11 月 17 日 星期日(已编辑)
8
这篇文章上次修改于 2024 年 11 月 17 日 星期日,可能部分内容已经不适用,如有疑问可询问作者。

【JS】什么时候应该使用await

先看MDN官方定义

await is usually used to unwrap promises by passing a Promise as the expression

也就是说任何await只能使用在promise function的情况下,

普通的变量(非promise化,非thenable的对象)使用await之后的变量会自动变成一个promise 的fulfilled状态

如:

async function f3() {
  const y = await 20;
  console.log(y); // 20

  const obj = {};
  console.log((await obj) === obj); // true
}
image-20241117105431537

image-20241117105431537

执行到 await 时,后面的代码就会整体被安排进一个新的微任务,此后的函数体变为异步执行。

image-20241117105815075

image-20241117105815075

只要情况不是必须或可能需要等待 Promise 的结果,就应该避免使用 await

同时建议最好写async await时,带上try catch,要不然就得在await function 通过.catch()的方式,这样太不好看了

image-20241117110716337

image-20241117110716337

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...