请求数据有时候得到undefined,这是为什么?
问题描述
我用 antd-mobile 的长列表渲染页面,用 axios 发请求,有时候有一部分数据拿不到,有时候又没问题,这是为什么?
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
我用 axios 创建实例时,用了 transformResponse 配置项。
transformResponse(data){
if(!data){
//数据没拿到
return;
}
if(typeof data === 'string'){
//数据是字符串
data = JSON.parse(data);
}
let o = {};
if (data.songs) {
o.data = data.songs.list;
o.info = data.info;
o.origin = 'singers-info'
}
return o;
}
在长列表组件里这样发的请求。
//根据 id 获取歌曲列表
getSongListById = (callback, pageIndex) => {
let {match} = this.props;
let id = match.params.id;
if(id){
//id 不是空字符串
let promise = {};
if(match.path === '/singer/info/:id'){
//歌手信息页
promise = getSingerInfo({
singerId: id,
page: pageIndex
});
}
promise.then(({data}) => {
this.curList = data.data;
console.log(data);
this.list.push(...data.data);
callback(this.list);
});
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
用postman测试一下看看有没有数据,如果有就是你代码有问题