【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
}
执行到 await
时,后面的代码就会整体被安排进一个新的微任务,此后的函数体变为异步执行。
只要情况不是必须或可能需要等待 Promise
的结果,就应该避免使用 await
同时建议最好写async await时,带上try catch,要不然就得在await function 通过.catch()的方式,这样太不好看了