handleNullValues方法在封装请求接口返回数据时统一处理
function handleNullValues(data) {
function processItem(item) {
if (Array.isArray(item)) {
return item.map(processItem);
} else if (typeof item === 'object' && item !== null) {
return Object.keys(item).reduce((acc, key) => {
acc[key] = processItem(item[key]);
return acc;
}, {
});
} else if (item === null) {
return '';
}
return item;
}
return processItem(data);
}
const processedData = handleNullValues(res.data);
resolve(processedData);
全部代码
import config from '../config/baseUrl'
const showLoading = () => wx.showLoading({
title: '加载中...'
});
const hideLoading = () => wx.hideLoading();
export function request(url, method = 'GET', data = {
}) {
let fullUrl = config.BASE_URL + url;
return new Promise((resolve, reject) => {
showLoading();
const token = wx.getStorageSync('token')
wx.request({
url: fullUrl,
method: method,
data: data,
header: {
'content-type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + token
},
success: (res) => {
console.log(res);
if (res.data.msg === 'success') {
hideLoading();
function handleNullValues(data) {
function processItem(item) {
if (Array.isArray(item)) {
return item.map(processItem);
} else if (typeof item === 'object' && item !== null) {
return Object.keys(item).reduce((acc, key) => {
acc[key] = processItem(item[key]);
return acc;
}, {
});
} else if (item === null) {
return '';
}
return item;
}
return processItem(data);
}
const processedData = handleNullValues(res.data);
resolve(processedData);
} else {
hideLoading();
wx.showToast({
title: res.data.msg,
icon: 'none'
})
reject(res.data.msg || '请求失败');
}
},
fail: (err) => {
hideLoading();
reject(err.errMsg || '网络请求失败');
}
});
});
}
文章评论