async 函数
- 函数的返回值为 Promise 实例对象。
- Promise 实例对象的结果由 async 函数执行的返回值决定。
async function fun() {
return value
}
await 表达式
- await 的右侧的表达式一般为 promise 对象,但也可以是其他类型数据
- 如果表达式是 Promise 对象,awwit返回的是Promise对象成功的值,而失败的状态可以由 catch 去捕获
- 如果表达式是其他值,则直接作为 await的返回值
- 且 await 必须写在 async 函数中,但 async 函数中可以没有 await
- 如果 async 的Promise失败,就会抛出异常,通过 try...catch... 捕获
async function fun() {
try() {
let res = await new Promise(() => {})
} catch(err) {
// 捕获错误
}
}