最近做小程序在调用后台接口的时候感觉总写很长一串,很冗杂。非常想念vue中promise封装的写法,于是自己初步封装了一下。
1.url 接口地址
2.headers请求头
3. params 请求参数
4.host 服务端地址
POST:
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:
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来取回调了。
当然在这里还可以做错误统一处理,我这儿只是简单的做了封装,有兴趣的小伙伴可以进一步封装。
如果你也想开发一款属于自己的小程序,可以通过第三方专业开发平台,来帮助你实现开发需求:厦门在乎科技-专注小程序、app、网站开发