微信小程序 网络请求封装 promise方式
时间: 2023-09-21 20:09:49 浏览: 50
在微信小程序中,可以使用wx.request()方法进行网络请求,但是使用Promise可以更加方便地处理异步请求。
下面是一个网络请求的封装,使用Promise方式:
```js
const request = (url, method, data) => {
return new Promise((resolve, reject) => {
wx.request({
url: url,
method: method,
data: data,
header: {
'content-type': 'application/json'
},
success: (res) => {
if (res.statusCode === 200) {
resolve(res.data)
} else {
reject(res.errMsg)
}
},
fail: (err) => {
reject(err.errMsg)
}
})
})
}
export default request
```
可以看到,该封装使用了Promise语法,将wx.request()方法返回的结果进行了处理。
使用该封装进行网络请求时,可以这样调用:
```js
import request from 'request.js'
request('http://example.com/api/getData', 'GET', {})
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
```
其中,第一个参数为请求的URL,第二个参数为请求的方法(GET、POST等),第三个参数为请求的数据。请求成功时,会返回一个Promise对象,可以使用.then()方法获取返回数据;请求失败时,会返回一个错误信息,可以使用.catch()方法处理错误。