下面代码打印什么
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)
}
下面有答案,你先思考???
思路:
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浏览器打开看控制台:
直接在chrome浏览器的console里写代码执行如下:
思路:
try代码块里面const data=await Promise.reject(2)
还没有特别理解,我也不明白怎么就只走catch,后面异步的代码咋不走了,这也不符合事件循环机制啊,等我理解透了再往下写
未完,待续。。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。