最近做小程序在調(diào)用后臺接口的時候感覺總寫很長一串,很冗雜。非常想念vue中promise封裝的寫法,于是自己初步封裝了一下。
1.url 接口地址
2.headers請求頭
3. params 請求參數(shù)
4.host 服務(wù)端地址
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對象轉(zhuǎn)換成字符串
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;
}
|
到這兒呢就結(jié)束了,就可以愉快的通過then來取回調(diào)了。
當(dāng)然在這里還可以做錯誤統(tǒng)一處理,我這兒只是簡單的做了封裝,有興趣的小伙伴可以進(jìn)一步封裝。