微信小程序提供了wx.request方法来进行网络请求,可以通过封装该方法并返回一个 Promise 来实现 Promise 封装的 request 请求。
request(url, method = 'GET', data = {}) {
return new Promise((resolve, reject) => {
wx.request({
url: url,
method: method,
data: data,
success: (res) => {
resolve(res.data);
},
fail: (err) => {
reject(err);
}
});
});
}
这个函数接收三个参数:请求地址 url
,请求方法 method
(默认为 GET),和请求数据 data
(默认为空对象)。它返回一个 Promise 对象,当请求成功时,Promise 的状态变为 resolved 并返回响应数据;当请求失败时,Promise 的状态变为 rejected 并返回错误信息。
使用方法:
request('https://xxx')
.then((data) => {
console.log(data);
})
.catch((err) => {
console.error(err);
});