[英]Wait for For loop to finish - Angular
我有這段代碼可以格式化參數並提交給 api。
for (let a = 0; a < perfCriteria.length; a++) {
const element = perfCriteria[a];
let newObject = Object.assign({}, paramObject)
newObject.performanceCriteria = element.performanceCriteriaId
for (let b = 0; b < element.performanceIndicators.length; b++) {
const element2 = element.performanceIndicators[b];
let newObject2 = Object.assign({}, newObject)
newObject2.performanceIndicator = element2.performanceIndicatorId
newObject2.numberTarget = element2.divisionTarget ? element2.divisionTarget : ""
newObject2.targetDetails = element2.targetDetails
for (let c = 0; c < element2.targetDetails.length; c++) {
const element = element2.targetDetails[c];
element2.targetDetails[c].individualAccountable = element.individualAccountable.map(function(row){
return row._id
})
}
divTargetArray.push(newObject2)
}
}
this.DivisionTarget.create(divTargetArray).subscribe(result =>{
console.log('result', result)
if(result.success){
this.appComponent.showLoadingIndicator = false;
this.router.navigate(['/index/app/performanceManagement/divisionTargets']);
this.toastService.openSnackBar(result.message, "success");
}else{
this.appComponent.showLoadingIndicator = false;
this.toastService.openSnackBar(result.message, "danger");
}
}, error => {
this.appComponent.showLoadingIndicator = false;
this.toastService.openSnackBar(error, "danger");
});
但有時,它不會等待 For 循環完成。 有沒有一種方法可以等待 For 循環完成,然后再將其提交給 API?
我在您的代碼中看不到任何異步操作,所以我認為它是逐行執行的。 似乎不可能在循環結束之前發生訂閱。 也許問題在其他地方?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.