微信小程序封装一个同步的wx.reques网络请求
时间: 2024-04-28 15:23:54 浏览: 154
微信小程序 wx.request 和 wx.uploadFile请求/上传封装,JSEncrypt加密字符串超长采用分段加密
在微信小程序中,由于网络请求是异步的,所以不能直接使用同步的方式进行请求。但是可以通过 Promise 对象实现类似同步的效果,封装一个 Promise 版本的 wx.request() 方法,可以让我们在使用时更加方便。
下面是一个简单的封装示例:
```
function request(options) {
return new Promise((resolve, reject) => {
wx.request({
url: options.url,
method: options.method || 'GET',
data: options.data || {},
header: options.header || {},
success: function(res) {
resolve(res.data)
},
fail: function(err) {
reject(err)
}
})
})
}
```
使用时,可以像下面这样调用:
```
request({
url: 'https://www.example.com/api',
method: 'POST',
data: {
name: 'John',
age: 18
},
header: {
'content-type': 'application/json'
}
}).then(res => {
console.log(res)
}).catch(err => {
console.error(err)
})
```
这样封装后,我们就可以在代码中像调用同步方法一样使用异步的网络请求了。
阅读全文