可以从连接获取数据,但是使用promise无法将数据传到recommend.vue
来源:4-2 热卖推荐--从服务器端获取数据
ChangeH
2020-03-22 22:30:00
//home.js中的文件 import jsonp from "../assets/js/jsonp"; export const getHomeRecommend = (page=1,psize=20)=>{ const url = 'https://ju.taobao.com/json/tg/ajaxGetItemsV2.json'; const params={ page, psize, type:0, frontcatId:'' }; jsonp(url,params,{param:'callback',timeout: 1000}).then(res => { console.log(res); if (res.code === '200') { return new Promise((resolve,reject)=>{ resolve('success'); reject('false'); }); } }); }; //recommend.vue中的文件 <template> <div>{{totalPage}}</div> </template> <script> import {getHomeRecommend} from '../../api/home'; export default { name: "recommend", data(){ return{ recommends:[], curPage:1, totalPage:1 }; }, created(){ this.getRecommend(); }, methods:{ getRecommend(){ getHomeRecommend(this.curPage).then(data => { if(data){ this.curPage++; this.totalPage=data.totalPage; this.recommends=this.recommends.concat(data.itemList); } }); } } }; </script> <style scoped> </style>
2回答
同学你好,问题如下:
1、在home.js中少些了一个return,可以参考下方修改:
2、视频中返回了数据,如下:
3、处理代码如下:
要把内容返回出去,所以要使用return
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
ChangeH
提问者
2020-03-23
找到错误的原因了,home.js中jsonp前面要加return。
可是还是不明白,不加return为什么不返回新创建的Promise:
new Promise((resolve,reject)=>{ resolve('success'); reject('false'); });
相似问题