调用resovle正常 但一调用reject会报错

来源:4-7 Promise的静态方法

慕粉3912077

2020-09-10

第62行 改成resovle(‘超时’)时一切正常
reject(‘超时’)的时候会报错
图片描述图片描述

如果timeOut.catch(err => {console.log(err)})最后也能打印出来,但依旧会初始加载页面的时候自动断点打到62行提示paused on promise rejection
图片描述

写回答

2回答

谢成

2020-09-10

完整的url前面需要有协议,加上https://

//img.mukewang.com/szimg/5f5a22bc09790f7111740202.jpg



同样的代码在我这边没有复现出这个问题:

//img1.sycdn.imooc.com/szimg/5f5a232109cbbfc820401688.jpg

//img1.sycdn.imooc.com/szimg/5f5a22fe09e5045709580476.jpg



0
3
谢成
回复
慕粉3912077
哈哈 解决了就好
2020-09-12
共3条回复

谢成

2020-09-10

不能在同步操作使用 reject() ,因为这个时候异常处理还没有挂载到 promise 上,也就是说promise 不能立即执行 reject(),可以模拟异步调用解决这个问题比如加个定时器。

0
1
慕粉3912077
但解除了61和63和68~72行的setTimeout的注释 把66行注释 也还是老样子
2020-09-10
共1条回复

JavaScript ES(6-11)全版本语法 前端都需要的基础课

前端无门槛学习,从ES6到ES11,一套课程掌握JS最新语法

1328 学习 · 296 问题

查看课程