一,不使用try……catch包裹会导致后续代码不执行

function loginSet () {
    console.log('1111')
    return new Promise((resolve, reject) => {
    setTimeout(()=>{
        console.log("22222")
        reject("报错")
    },10)
    })
}
async function test(){
     await loginSet()
    console.log("44444")
}
test()

这样子,后续的代码不执行,只会打印:

1111
22222

二,使用try……catch包裹会让后续代码继续执行

function loginSet () {
    console.log('1111')
    return new Promise((resolve, reject) => {
    setTimeout(()=>{
        console.log("22222")
        reject("报错")
    },10)
    })
}
async function test(){
    try{
         await loginSet()
    }catch(err){
        console.log(err)
    }
    console.log("44444")
}
test()

打印值:

 1111
> 22222
> 报错
> 44444
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐