关于错误处理

关于错误处理

请问,return f(false) 如果没有处理会报错,是不是因为return f(false)之后,会执行里面else语句中的reject(),但是new Promise 中的参数 reject并没有传入处理函数所以导致报错?

如果是这样的会,如果最后return f(true) 没有处理为什么不会报错呢,执行resolve() 的时候也没传入处理函数呀?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,传入false之后,是会执行else里面的语句。

但是在视频里老师的代码中catch语句里面又返回了f(false),后面没有再处理错误,所以会报错的。

如果改为下方的形式,就不会报错啦

http://img1.sycdn.imooc.com//climg/5de0fc13091e439c05750516.jpg

控制台(不会报错了):

http://img1.sycdn.imooc.com//climg/5de1018809e1955d02710179.jpg

同学可以再理解下。如果还有其他疑问,建议在问答区重新提问,便于后期查找总结

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

好帮手慕言 2019-11-29 15:37:15

同学你好,同学的疑问是这里的代码吗?

http://img1.sycdn.imooc.com//climg/5de0ca3d090ce68c04240377.jpg

如果是这里的话, 那么简单理解就是因为代码在运行的过程中有错误, 但是没有被处理,程序就会停止执行的

如果不是这里的话, 建议:同学可以详细的描述一下是视频中的几分几秒处,再次提问,老师帮助解答。如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 慕神9465694 #1
    是这里,但是传入false之后,里面不是会执行else语句中的reject()吗
    2019-11-29 15:43:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师