面试题之在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

你可能感兴趣的:(前端,javascript,开发语言)