在微信小程序开发中,http请求是一个非常重要的环节。虽然腾讯官方提供了相应的Api,但是如果直接使用这些Api的话,每次请求都非常麻烦。
在实战中,需要首先将其包装一下,让其变得更好用。
比如,我的请求的代码是这样写的:
javascript
const reload = () => {
MyAPI.getDevices()
.then(res => {
deviceList.value = res.list
}).catch(err => {
console.warning('err', err)
})
}
在页面中只需一个简单的MyAPI.getDevices(),就可以完成http的请求。是不是很简单呢?
再仔细看,它可是进行了网络请求的哦,还有,请求的时候,还顺带进行了身份认证的哦。
如果请求成功了,那么就会得到结果res,在res中有一个list属性,这是一个数组。
如果请求出错了,这里只是打印出错误信息,当然还可以进一步处理的。这里就省略了。
在这样的请求中,只关心业务逻辑,而不需要关心底层的实现。
如果再加个参数呢?
javascript
const reload = () => {
MyAPI.getDevice(MyAPI.getDeviceId())
.then(res => {
device.value = res
}).catch(err => {
console.warning('err', err)
})
}
你发现,虽然函数不同,但是使用的形式都是一样的。
通过这样的封装,可以将所有用得到的http请求都封装成这样,在编码中统一形式和风格。