写微信小程序的时候出现了如题所示的错误,具体如下:
request\index.js
在这个文件中写了一个发送请求的方法
export const request=(params)=>{
return new Promise((resolve, reject)=>{
wx.request({
...params,
success:(result)=>{
resolve(resolve);
},
fail:(err)=>{
reject(err);
}
})
})
}
pages\index\index.js
// 引入用来发送请求的方法,一定要把路径补全
import { request } from "../../request/index.js";
Page({
data: {
//轮播图数组
swiperList: []
},
//页面开始加载就会触发
onLoad: function(options) {
//1.发送异步请求获取轮播图数据
//优化手段可以通过es6的promise来解决
request({ url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata' })
.then(result => {
this.setData({
swiperList: result.data.message
})
})
//后期若发现有嵌套调用的情况可以在后面 .then()
}
})
报错说是:
TypeError: Cannot read property ‘message’ of undefined
问题指向了swiperList: result.data.message,说是message未定义。
解决办法是:
写请求方发的request\index.js文件中的
success:(result)=>{
resolve(resolve);
},
应该是
resolve(result);