一、定义&作用
1、定义
- async 关键字用于声明异步函数
- await 关键字会暂停执行异步函数后面的代码,当异步函数执行完后,再执行后面代码
2、作用
二、语法
- async是一个位于function之前的前缀,只有async函数中,才能使用await。
- await只能在async函数中使用
async function fn(){
await new Promise((resolve,reject)=>{})
}
执行顺序
let xxx = 1
async function fn() {
xxx = await new Promise((resolve, reject) => {
console.log(xxx)
setTimeout(() => {
xxx = 2
console.log(xxx)
resolve(3)
}, 1000)
})
console.log(xxx)
}
fn()
三、错误捕获
.catch 捕获Promise错误
;(async () => {
await Promise.reject('错误').catch(err => {
console.log(err)
})
})()
try catch 捕获错误所有错误
;(async () => {
try {
await Promise.reject('错误')
} catch (e) {
console.log(e)
}
})()