import BASEURL from "../config/env";
let controllerList = [];
let cancelOtherRequest = [];
export function doRequest(method, path, data, header = {}, needCancel = false) {
if (needCancel) {
cancelOtherRequest.forEach((item) => {
item.abort();
cancelOtherRequest = [];
});
}
controllerList.forEach((item) => {
if (item.url === path) {
item.conT.abort();
controllerList = controllerList.filter((item) => item.url !== path);
}
});
return new Promise((resolve, reject) => {
const requsetTask = uni.request({
timeout: 1000 * 60 * 10,
method,
url: BASEURL + path,
data,
header,
success: function (result) {
resolve(result);
},
fail: function (e) {
reject(e);
},
});
if (needCancel) {
cancelOtherRequest.push(requsetTask);
}
controllerList.push({ url: path, conT: requsetTask });
});
}