在小程序的开发中,我们知道网络请求wx.requset是一个异步请求的API,当我们使用它时,会出现请求还没有结束,我们下面写的处理数据的代码就已经执行了从而导致了我们写的程序出现问题,那么我们该怎么解决这个问题呢?今天我们用async/await来实现一下吧。
在小程序中,我们的async/await要与promise一起搭配使用才能有异步变同步的效果。
一、封装promise的请求
request.js
function post(url, data = {}) {
return new Promise(function (resolve, reject) {
wx.request({
method: "POST",
url: url,
data: data,
success(res) {
resolve(res);
},
fail(err) {
reject(err)
}
})
})
}
module.exports = {
post:post
}
我们这里封装的是一个post请求的promise工具类,当然get请求也是一样的封装方法,可以根据具体的使用情况对本代码进行一些更改。
这里我们封装的工具类需要传递的信息是网络请求链接和需要给到接口的请求数据。
二、封装储存接口的工具类
此工具类是为了方便开发者对接口的链接进行统一管理
link.js
module.exports = {
test: 'y