微信小程序给我们封装了wx.request用于请求网络接口数据,通常的形式是
wx.request({
url: 'example.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
}
})
url是请求的接口地址,data是需要发送的数据,header是请求头,success是成功回调函数,method是请求类型...
里面还有很多的参数具体代表什么意思需要自己去微信的官方文档下看,但通常使用的就是这些。如果我们需要使用很多接口请求数据,每次都写一遍,会造成大量的代码冗余,我们可以将wx.request进行二次封装来实现调用。
我们用Promise实现异步回调。
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
wx.request返回形式是
success (res) {
console.log(res.data)
}
fail(e){
...
}
我们使用promise可以将这种形式封装为