1. async定义的函数默认返回一个promise的resolve值
2. async 函数返回promise对象,一旦遇到await就会先返回等异步操作完成,在执行函数体内await后的语句,即:让出了线程,跳出了async函数体
3. await后跟表达式,asyn方法执行时遇到await会立即执行表达式(函数),然后把表达式后面的代码放到微任务队列中
4. await如果等到的是一个promise对象,如果promise失败了会抛出异常,中断async执行,此时一般结合try catch捕获处理
例:
async function asyncFun() {
try {
await new Promise((resolve, reject) => {
reject('error')
})
console.log('执行')
}
catch (error) {
console.log('error', error)
}
}