diff --git a/src/layouts/capability-questions/capability-questions.vue b/src/layouts/capability-questions/capability-questions.vue index c19c5250..494fcacd 100644 --- a/src/layouts/capability-questions/capability-questions.vue +++ b/src/layouts/capability-questions/capability-questions.vue @@ -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); } diff --git a/src/store/index.js b/src/store/index.js index 0f527f1c..95532981 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -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,