resolving all promises at once

This commit is contained in:
Michaela Brydon 2024-07-01 14:18:21 -04:00
parent 6433b6e951
commit 8e9245b37f
2 changed files with 12 additions and 6 deletions

View file

@ -153,12 +153,18 @@ export default {
await this.mainStore.saveCapabilityQuestionAnswers(questionAnswersArray);
// set recalibration properties of parts based on capability question answers
for (let answer of questionAnswersArray) {
const promiseResultMap = questionAnswersArray.map((answer, i) => {
const partData = this.partsOrQuestionsData.find(x => x.glassLocation === answer.glassLocation);
return {
resultKey: i,
promise: useMainStore().updatePartFromCapabilityQuestionAnswer(partData.parts[0], answer)
};
});
const resultMap = await settleAllPromises(promiseResultMap);
questionAnswersArray.forEach((answer, i) => {
const partData = this.partsOrQuestionsData.find((x) => x.glassLocation === answer.glassLocation);
if (partData) {
partData.parts[0] = await useMainStore().getPartFromCapabilityQuestionAnswer(partData.parts[0], answer);
}
}
partData.parts[0] = resultMap[i];
});
this.navigateForward(this.partsOrQuestionsData, null);
}

View file

@ -815,7 +815,7 @@ export const useMainStore = defineStore({
});
},
async getPartFromCapabilityQuestionAnswer(part, capabilityQuestionAnswersForPart) {
async updatePartFromCapabilityQuestionAnswer(part, capabilityQuestionAnswersForPart) {
return (await globalMethods.callHttpClient({
method: endpoints.GetPartFromCapabilityAnswer.method,
endpoint: endpoints.GetPartFromCapabilityAnswer.url,