I need to create multiple Google Analytics properties programmatically using the GA Admin API – https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1beta/properties/create.
It is about 300+ properties so also 300+ post requests with different request bodies. For that, I have an array with those 300+ objects. What would be the best practice in JS to perform all these requests? Can I just loop the array with forEach
and use the fetch
function in each iteration?
propertyArr.forEach((e, i, a) => { gapi.client.request({ path: 'https://analyticsadmin.googleapis.com/v1beta/properties', method: 'POST', body: e }); });
This is what I have right now. Note I am using gapi.client.request() method to make the call.
Thank you
Advertisement
Answer
You can map over propertyArr
and use Promises.allsettled
to ensure all requests are either rejected/resolved
const allRequests = propertyArr.map((e, i, a) => { return gapi.client.request({ path: 'https://analyticsadmin.googleapis.com/v1beta/properties', method: 'POST', body: e }); }); let result = await Promises.allsettled(allRequests ).then(success).catch(error);