async 函数
- 函数的返回值为 promise 对象
- promise 对象的结果由 async 函数执行的返回值决定
await 表达式
- await 右侧的表达式一般为 promise 对象, 但也可以是其它的值
- 如果表达式是 promise 对象, await 返回的是 promise 成功的值
- 如果表达式是其它值, 直接将此值作为 await 的返回值
注意
- await 必须写在 async 函数中, 但 async 函数中可以没有 await
- 如果 await 的 promise 失败了, 就会抛出异常, 需要通过 try…catch 捕获处理
async function fn() {
// await 右侧是一个成功的 promise
const result = await fn1()
// await 右侧是一个非 promise 的数据 // const result = await fn2()
// await 右侧是一个失败的 promise // const result = await fn3()
// await 右侧抛出异常
// const result = await fn4() console.log('result: ', result)
return result+10
}