微信小程序封装http请求---(promise)
在顶级app.js中添加全局url地址
封装方法
/**
* 封装wx.request请求
* method: 请求方式
* url: 请求地址
* data: 要传递的参数
* cookie : 请求token
* callback: 请求成功回调函数
* errFun: 请求失败回调函数
* 以对象方式进行传参
**/
wxRequest({method, url, cookie, data, callback, errFun}) {
return new Promise((resove, reject) => {
wx.request({
url: url,
method: method,
data: data,
header: { // 定义请求头
'content-type': method == 'GET' ? 'application/json' : 'application/x-www-form-urlencoded',
'Cookie': cookie
},
dataType: 'json',
success: function (res) {
// 这里可以做请求拦截
callback(res)
},
fail: function (err) {
reject(err);
}
})
})
OK! 方法封装完毕!我们就可以用原生promise的方法来获取请求回来的数据啦!就不用再去使用微信小程序的success来获取成功的数据。
在其他页面调用app.js方法:
// 页面开始 先获取应用实例
const app = getApp()
// 在需要的函数内部进行函数的调用
搞定!这样封装一下用回到熟悉的axios的写法,就可以用到我们的async 、await 来解决异步。
求各位大佬多多指教!