1. async函数
- 函数的返回值为 promise 对象
- promise 对象的结果由
async
函数执行的返回值决定(和then方法的返回规则一致)
2. await表达式
await
右侧的表达式一般为 promise 对象, 但也可以是其它的值- 如果表达式是 promise 对象,
await
返回的是 promise 成功的值 - 如果表达式是其它值, 直接将此值作为
await
的返回值
3. 注意
await
必须写在async
函数中, 但async
函数中可以没有await
- 如果
await
的 promise 失败了, 就会抛出异常, 需要通过try...catch
捕获处理
async function main(){
let p = new Promise((resolve, reject) => {
resolve('OK');
})
let res1 = await p;//'OK'
let res2 = await 1;//1
}
main();