in src/SimpleWebRequest.ts [230:256]
protected static checkQueueProcessing(): void {
while (executingList.length < SimpleWebRequestOptions.MaxSimultaneousRequests) {
const req = requestQueue.shift();
if (!req) {
return;
}
blockedList.push(req);
const blockPromise = (req._blockRequestUntil && req._blockRequestUntil()) || Promise.resolve();
blockPromise.then(() => {
remove(blockedList, req);
if (executingList.length < SimpleWebRequestOptions.MaxSimultaneousRequests && !req._aborted) {
executingList.push(req);
SimpleWebRequest._scheduleHungRequestCleanupIfNeeded();
req._fire();
} else {
req._enqueue();
}
}, (err: any) => {
remove(blockedList, req);
// fail the request if the block promise is rejected
req._respond('_blockRequestUntil rejected: ' + err);
});
}
}