requestTree:{},
request(options={}){//統(tǒng)一約定,請求調(diào)用此方法
var url = options.url;
var method = options.method;
var header = options.header || {};
var data = options.data || {};
//請求方式
if(method){
method = method.toUpperCase();
if(method === "POST" && JSON.stringify(header) == "{}"){
header = {"content-type":"application/x-www-form-urlencoded"}
}
}
// 發(fā)送請求 加載動畫
if(!options.hideLoading){
uni.showLoading({
title:"加載中"
})
}
this.requestTree[options.url]=uni.request({
url : url,
method : method || "GET",
header : header,
data : data,
success : res =>{
if(res.statusCode && res.statusCode !== 200){
uni.showModal({
content:res.data.message
})
return;
}
typeof options.success == "function" && options.success(res.data);
},
fail: (e) => {
if(e.errMsg === "request:fail abort") return;
typeof options.fail == "function" && options.fail(e.data);
},
complete: (e) => {
uni.hideLoading();
typeof options.complete == "function" && options.complete(e.data);
return;
}
});
},
abortRequest(options={}){//此方法會打斷所有發(fā)送中請求
for(let name in this.requestTree){
console.log(name);
this.requestTree[name].abort();
}
}
};
uniapp封裝中斷請求
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 最近使用了uniapp開發(fā)了幾個項目,參考了網(wǎng)上的一些案例根據(jù)自己的項目需求對網(wǎng)絡(luò)請求做了封裝,順便記下方便以后使...
- 以下內(nèi)容直接放入main.js中,方法都是掛載在vue原型上的,使用this直接調(diào)用 import Vue fro...
- 在項目根目錄下新建service文件夾,后續(xù)封裝的文件放在這個文件夾下。 主要的封裝是在LsxmRequest.j...