in src/GraphService.ts [114:135]
async function enqueueRequest(relativeUrl: string, method: string): Promise<BatchResponse> {
++lastRequestId;
let onResolve: ResolveFunc<BatchResponse> = () => { /**/ };
let onReject: RejectFunc = () => { /**/ };
// tslint:disable-next-line:promise-must-complete -- will be resolved in a separate function
const p = new Promise<BatchResponse>((resolve, reject) => {
onResolve = resolve;
onReject = reject;
});
queue[`${lastRequestId}`] = { id: `${lastRequestId}`, url: relativeUrl, method, onResolve, onReject };
if (Object.keys(queue).length >= 20) {
await processBatch();
}
if (batchTimer) {
clearTimeout(batchTimer);
}
batchTimer = window.setTimeout(async () => { await processBatch(); }, 0);
return p;
}