Okay, so I found a way to do what I needed without using using a then
on each get
. Since the params passed in to axios.get
contain enough info to determine the save location, and since I can read the params back from the response, I can do something like the following:
let promises = [];
for (let i = 0; i < requests.length; i++) {
promises.push(axios.get(request[i].url, { params: {...} }));
}
axios.all(promises)
.then(axios.spread((...args) => {
for (let i = 0; i < args.length; i++) {
myObject[args[i].config.params.saveLocation] = args[i].data;
}
}))
.then(/* use the data */);
This ensures all the data is received and saved to the object before it is used.