in src/GraphService.ts [138:174]
async function processBatch() {
if (Object.keys(queue).length === 0) {
return;
}
const requests = [];
const processingQueue = queue;
queue = {};
for (const id of Object.keys(processingQueue)) {
const req = processingQueue[id];
requests.push({
id: req.id,
method: req.method,
url: req.url
});
}
const adToken = await GraphServiceAuthenticator.getAuthToken();
const batchRequest = new Request(`${graphBaseUrl}/v1.0/$batch`, {
method: "POST",
headers: {
Authorization: `Bearer ${adToken}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ requests })
});
try {
const batchResponse = await fetch(batchRequest);
await processResponse(batchResponse, processingQueue);
} catch (e) {
// reject all
for (const id of Object.keys(processingQueue)) {
processingQueue[id].onReject(e);
}
}
}