最近做小程序在調用后臺接口的時候感覺總寫很長一串,很冗雜。非常想念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來取回調了。
當然在這里還可以做錯誤統一處理,我這兒只是簡單的做了封裝,有興趣的小伙伴可以進一步封裝。