如何优雅地处理用户的误操作引起的多次请求

(e){ ajaxKey += data.data }return ajaxKey}//所有与服务器进行http请求的出口exportfunction http (data){if(!isObject(data)){throwError('ajax请求参数必须是json对象: '+ data)} data.method =(data.method ||'GET').toUpperCase()//下面5行是对所有http请求做防重复请求处理,后面单独分享原理 let ajaxKey = getRequestKey(data)if(hitRequestKey(ajaxKey)){throwError('重复提交请求:'+ ajaxKey)} addRequestKey(ajaxKey)//bluebird.js包装成promisepromise apireturnnewPromise(function(resolve, reject){//通过wx.request api 向服务器端发出http请求 wx.request({ url: data.url, data: data.data, method: data.method, header: data.header ||{'Content-Type':'application/json'}, complete:function(res){// 请求完成,释放记录的key,可以发起下次请求了 removeRequestKey(ajaxKey) let statusCode = res.statusCode if(statusCode ===200|| statusCode ===304