前端在使用數據請求的時候,一般為了安全考慮都會添加請求頭,以及token檢驗等操作,還有根據后端返回的不同狀態進行不同處理,例如:后台返回token超時,我們就需要重新獲取token,然后才能請求數據.
首先是通用方法:就是參數有點麻煩,每次使用都需要傳很多參數,並且很多都是重復的,不是很友好.
export function wxPromise(fn) { return function (obj = {}) { return new Promise((resolve, reject) => { obj.success = res => { resolve(res) }; obj.fail = res => { reject(res) }; fn(obj) }) } }
然后優化一下,分別封裝POST以及GET請求
// 這是對post請求的封裝 export function post(url, data = {}) { return new Promise((resolve, reject) => { //網絡請求 //console.log(baseUrl) wx.request({ url: baseUrl + url, data, method: 'POST', header: { "Content-Type": "application/json", 'token': app.globalData.token, 'openId': app.globalData.openid }, success: function (res) {//服務器返回數據 //console.log("cg") resolve(res); }, fail: function (error) { //console.log("sb") reject(error); } }) }); }
// 這是對get請求的封裝 export function get(url, data = {}) { return new Promise((resolve, reject) => { //網絡請求 wx.request({ url: baseUrl + url, data, method: 'GET', header: { "Content-Type": "application/json", 'token': app.globalData.token, 'openId': app.globalData.openid }, success: function (res) {//服務器返回數據 resolve(res); }, fail: function (error) { reject(error); } }) }); }
然后我們在使用的時候就只需要傳入url以及參數就可以了,如果有需要還可以在以上封裝中對參數 以及后端返回的數據進行處理,還有狀態的處理等,根據自己項目需要吧.
