回调数据处理问题
tao2years opened this issue · 0 comments
tao2years commented
您好,发现了两个小Bug希望可以修复,修复代码在后面。
- 在pinche\pages\dynamic\index.js的第24行getList方法中,调用了工具类util的req方法。在对返回值data的处理时,未考虑失败回调返回false的情况。
getList: function getList() {
util.req('dynamic/getlist', { page: page }, function (**data**) {
var list = **data.list**;
...
**list.forEach**(function (item) {
var li = {
...
};
}
可以看到对返回值data的list属性调用了forEach函数。
在pinche\pinche\pages\utils\util.js 的req()函数中可以发现失败回调返回值是false,也就是在false上取list然后再调用foreach方法,此时会报出TypeError: Cannot read property 'forEach' of undefined。
function req(url, data, cb) {
wx.request({
success: function success(res) {
return typeof cb == "function" && cb(res.data);
},
fail: function fail() {
**return typeof cb == "function" && cb(false);**
}
});
}
修复:
对返回值进行判断,加上一行 if(data)即可。
getList: function getList() {
util.req('dynamic/getlist', { page: page }, function (**data**) {
if(**data**){
....
}
}
- 在pinche\pages\my\mydyn.js的第26行也有同样的问题,需要对返回值data进行判断