改造wx的ajax为promise,方便使用async和await语法
function request({url, data=null, dataType='json', method='GET'} = {}) {
return new Promise((resolve, reject) => {
wx.request({
url,
data,
dataType,
method,
header: {
'content-type': 'application/json', // 默认值
'openid': wx.getStorageSync('openid')
},
success({statusCode, data}) {
if(statusCode >= 200 && statusCode < 300) {
if(data.code === 0) {
resolve(res)
}else if(data.code === 403) {
wx.reLaunch({ url: '/pages/error/index' })
}else {
wx.showToast({ title: '服务器内部错误', icon: 'none', mask: true })
reject(res)
}
}else {
wx.showToast({ title: '服务器外部错误或网络问题', icon: 'none', mask: true })
reject(res)
}
},
fail(res) {
wx.showToast({ title: '网络问题,请重试', icon: 'none', mask: true })
reject(res)
}
})
})
}
网友评论