面试题之在async await中如何捕获到reject的Promise?
可以通过try catch来进行捕获,代码如下:
function fn() {
return new Promise((resolve,reject)=>{
// 抛出错误
reject('throw error')
})
}
async function getres() {
try {
console.log('first')
let res = await fn() // 捕获错误,遇到错误,中断下面输出语句的执行,直接走catch执行
console.log(6666, res)
} catch (err) {
console.log(err)
console.log('second')
}
}
getres()
输出结果:
first
throw error
second