下面代码打印什么

try{
    Promise.reject(2)
    .catch((e)=>{
        console.log(e) 
        throw new Error(3)
    })
}catch(e){
    console.log(e) 
}


try{ 
    const data = await Promise.reject(2);
     console.log(data);
     console.log(4);
     throw new Error(3);
}catch(e){ 
     console.log(e) 
}

下面有答案,你先思考???

image.png
思路:
Promise.reject(2)是reject这走catch,2则是传递的参数
因此consle.log(e)则打印=========2
throw new Error(3)这里抛出一个错误,并把3传递进去,则被try catch捕获到错误,这是js捕获错误的方式,因此在catch里consle.log(e)则打印=========Error:3

在编辑器里写代码通过chrome浏览器打开看控制台:
image.png

直接在chrome浏览器的console里写代码执行如下:
image.png
思路:
try代码块里面const data=await Promise.reject(2)

还没有特别理解,我也不明白怎么就只走catch,后面异步的代码咋不走了,这也不符合事件循环机制啊,等我理解透了再往下写

未完,待续。。。。


kangting
62 声望3 粉丝

一只小小的前端


« 上一篇
query解析