语法
async function fn(){//表示异步,这个函数里面有异步任务
let result = await xxx;//表示后面的结果需要等待,await只能放在async函数中
}
注意:
(1)await后面可以是promise对象,也可以是数字,字符串,布尔
(2)async函数返回是一个promise对象
(3)只要await语句后面Promise状态变成reject状态,那么整个async函数就会中断执行
如何解决async函数中抛出错误,影响后续代码?
a)try{
}catch(e){
}
b)直接捕获错误
async function fn(){
await Promise.reject('出现问题了').catch(err => {
console.log(err);
})
let a = await Promise.resolve('success');
console.log(a)
}
fn.then(res => {
console.log(res);
})
建议只要有await,都要try,catch,因为都有可能出问题。