董曼巴
2019-08-26 11:18
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里面抛出的异常在这里是捕获不到的。 })
还没有人回答问题,可以看看其他问题
Promise 入门
31554 学习 · 42 问题
相似问题