3.3错误处理 视频里讲错了
3.3错误处理一节,课程里讲的不对。 计时器回到函数属于异步执行的代码,里面抛出的异常并不能被catch 捕获到。
new Promise((resolve,reject)=>{ setTimeout(()=>{ //此处抛出的异常是因为没有被捕获所以会在控制台被打印出来。 throw new Error("bye"); },2000); // throw new Error("bye2") //同步的方式执行会被promise处理成reject立即调用,可以被后面的catch捕获到 }) .then(value=>{ console.log(value+" world"); }) .catch(error=>{// //按照课程里的代码,setTimeout里面抛出的异常在这里是捕获不到的。 })