因为微信的request对象是异步的,如果我们想封装的话需要使用promise来实现。
可以参考;https://www.liaoxuefeng.com/wiki/1022910821149312/1023024413276544
示意图
我们来简单进行一下封装
const app = getApp()
const requests=(url,data,type)=>{
return new Promise((resove,reject)=>{
return wx.request({
url: url,
method: type,
data: data,
header: {
"content-type": "application/x-www-form-urlencoded"
},
success(response) {
resove(response)
},
fail(err){
//请求错误直接返回空值
resove(null)
//reject(err.data)
//如果使用reject就是需要使用catch才能获取数据
}
})
})
}
// 封装函数,外部可以引用
module.exports={
requests,
}
下面这个文件写到tools.js文件夹中
在需要的地方引用import tools from '../../utils/tools.js';
使用方法