请问一个关于promise对象的问题
请问调用含有promise对象的函数都一定要把该函数返回么?比如下面这个函数
getHotKeyword(){ return getSearchHotKeyword().then(data => { return new Promise(resolve => { if(data){ this.hots = data; resolve(); } }) }) }
我试着把第一个return去掉 页面上没有什么变化 但是浏览器会报错 说then不是一个函数。
因为从函数的功能上来说,我觉得在then里面返回一个promise对象似乎已经可以达到目的了,因为对于调用getHotKeyword()的函数来说,它只需要得到getHotKeyword().then()这个then里面的数据就可以了吧,而且这个then里还有一个promise对象,可以让它继续then
上面那段话肯定是错的,所以想请问下第一个return存在的意义是什么。非常感谢!
1
收起
正在回答
2回答
同学你好,不行的哦。
getSearchHotKeyword()执行完会有的一个promise对象,但是调用getHotKeyword()并没有得到这个对象哦(没有return的情况下)。调用函数得到的是函数的返回值,没有return的话,会默认返回undefined,undefined后面是没有办法接着使用then方法的。
同学可以参考如上输出下,调用getHotKeyword()的结果。
祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
热门框架Vue开发WebApp 18版
- 参与学习 人
- 提交作业 209 份
- 解答问题 3299 个
本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星