还想请问下getRecommend()的问题
getRecommend() { if (this.curPage > this.totalPage) { return Promise.reject(new Error('没有更多了')); } return getHomeRecommend(this.curPage).then(data => { return new Promise(resolve => { if (data) { this.curPage++; this.totalPage = data.totalPage; this.recommends = this.recommends.concat(data.itemList); this.$emit('loaded', this.recommends); resolve(); } }); }); }
还有点不是很懂,请问在getHomeRecommend函数里返回promise对象,是不是为了后续调用getRecommend函数的时候能链式使用.then呢,老师解释为什么要加上返回promise对象是因为要判断data是否有值,但是去掉promise对象,也不影响data的判断啊,就是老师解释的这个原因让我有点不懂。
非常感谢!
正在回答
同学你好,你说的是如下这里的return new promise吗?若是这里的话,理解是没有问题的哦,
继续加油,祝学习愉快!
你好,1、同学现在有点绕哦,可以在查看下,pulltoLoadMore中调用的是getRecommend,而getRecommend,调用的是getHomeRecommend。
2、then方法是promise的方法,没有promise的话,是无法使用then的。
3、返回的data可以直接作为下一个then的参数,是指的在getRecommend中调用的是getHomeRecommend的这里的情况,这里说的可能没有特别详细,是指回调函数的参数,如下,这里的res与data;但是不适用于end这个,因为end本身是一个方法,不是一个回调的参数。
4、作为回调函数的的是resolve(data)这种形式,如三中的图的样式。
希望能帮助到你,欢迎采纳。
祝学习愉快!
- 参与学习 人
- 提交作业 209 份
- 解答问题 3299 个
本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星