(e){ ajaxKey += data.data }return ajaxKey}//所有與服務(wù)器進(jìn)行http請(qǐng)求的出口exportfunction http (data){if(!isObject(data)){throwError('ajax請(qǐng)求參數(shù)必須是json對(duì)象: '+ data)} data.method =(data.method ||'GET').toUpperCase()//下面5行是對(duì)所有http請(qǐng)求做防重復(fù)請(qǐng)求處理,后面單獨(dú)分享原理 let ajaxKey = getRequestKey(data)if(hitRequestKey(ajaxKey)){throwError('重復(fù)提交請(qǐng)求:'+ ajaxKey)} addRequestKey(ajaxKey)//bluebird.js包裝成promisepromise apireturnnewPromise(function(resolve, reject){//通過wx.request api 向服務(wù)器端發(fā)出http請(qǐng)求 wx.request({ url: data.url, data: data.data, method: data.method, header: data.header ||{'Content-Type':'application/json'}, complete:function(res){// 請(qǐng)求完成,釋放記錄的key,可以發(fā)起下次請(qǐng)求了 removeRequestKey(ajaxKey) let statusCode = res.statusCode if(statusCode ===200|| statusCode ===304 3/4 首頁 上一頁 1 2 3 4 下一頁 尾頁