小程序 请求Promise简单封装
最近做小程序在调用后台接口的时候感觉总写很长一串,很冗杂。非常想念vue中promise封装的写法,于是自己初步封装了一下。
1.url 接口地址
2.headers请求头
3. params 请求参数
4.host 服务端地址
POST:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
export function httpPost(url, params,params,) { let promise = new Promise((resolve, reject) => { wx.request({ url: host + url, header: headers ? headers : { "content-type" : "application/json" }, data: params, method: "POST" , success: function (res) { resolve(res); }, fail: err => { reject(err); } }); }); return promise; } |
GET:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
export function httpGet(url, params, headers) { let paramsStr = url; let num = 0; // 将params对象转换成字符串 for ( let i in params) { if (num < 1) { paramsStr += `?${i}=${params[i]}`; } else { paramsStr += `&${i}=${params[i]}`; } num++; } let promise = new Promise((resolve, reject) => { wx.request({ url: host + paramsStr, header: headers ? headers : { "content-type" : "application/json" }, method: "GET" , success: function (res) { resolve(res); }, fail: err => { reject(err); } }); }); return promise; } |
到这儿呢就结束了,就可以愉快的通过then来取回调了。
当然在这里还可以做错误统一处理,我这儿只是简单的做了封装,有兴趣的小伙伴可以进一步封装。