这里的return 还是没明白

这里的return 还是没明白

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

不知道为什么就是想不明白,为什么一定要 用红色框标出的return 返回出整个 promise对象
蓝色框标出的return不是会让 getContentByHttp执行吗,既然执行了就应该能够返回出绿色的promise对象, 这样蓝色框存在的then方法就可以接收了不是吗?


真想不明白为什么需要红色的return 麻烦老师解答

正在回答 回答被采纳积分+1

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

1回答
卡布琦诺 2020-05-05 16:14:52

同学你好,如果不用红色框标出的return 返回出整个 promise对象的话,会直接返回一个成功对象。无论data有没有值都会执行下图所示的then方法

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

红框处,添加一个promise后, 在里面判断完,成功获取到数据之后再resolve();这样就可以确保获取到了数据再去更新

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

希望可以帮到你!

  • 提问者 10hours #1
    老师你好,这个部分明白了,回复区无法截图。语言描述一下,希望老师能在category/content.vue源码中测试一下。 我试过去掉return 按照老师的意思会直接返回一个成功的对象,但是我直接去掉红色的return,会直接报错,Cannot read property 'then' of undefined,既然会返回成功状态的promise 为什么还好报这个错误???
    2020-05-05 16:53:35
  • 卡布琦诺 回复 提问者 10hours #2
    同学你好,可能理解有所偏差,这里老师说的不是可以去掉红色框处的return,而是红色框处return及后面的代码段。
    2020-05-06 11:10:26
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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