我们通过VUE资源在我们的应用程序同时执行多个$http.get
电话。有没有什么办法来设置限制,以便VUE资源队列的请求,并执行基于此限制的呼吁?
我没有使用Vue的资源。
我只是换另一个承诺的承诺:
const callBackFunction = function (valueToReturn, promise) {
pendingRequestsArr.pop();
if (waitingRequestsArr.length > 0) {
executeXHR(waitingRequestsArr.shift())
}
if (valueToReturn.body && !valueToReturn.body.hasOwnProperty('error')) {
if (promise) promise(valueToReturn.body.content || valueToReturn.body);
return valueToReturn.body.content || valueToReturn.body;
}
else
return valueToReturn.error
};
function executeXHR(obj) {
if (!AJAX_CONCURRENT || pendingRequestsArr.length < AJAX_CONCURRENT) {
pendingRequestsArr.push(obj.resource(obj.data).then((response) => callBackFunction(response, obj.promise)))
} else {
waitingRequestsArr.push(obj);
}
}
function wrapPromise(resource, data){
return new Promise((resolve, reject)=>{
executeXHR({"resource": resource, "data": data, "promise": resolve});
})
}
getAllProjects() {
return wrapPromise($projects.get);//$project.get == $http.get('/projects')
},