У меня есть эта функция, которую я хочу запустить.Проблема в том, что он не ждет завершения двух вызовов и создания экземпляров rule1
и rule2
, поэтому я получаю сообщение об ошибке rule1.optionhead is undefined
.Я пытался разместить код для каждого subscribe
, но затем выполнение создания происходило чаще, чем я хочу.Что я могу сделать, чтобы исправить это?
Чтобы уточнить, я использую это для цикла, потому что selectedScenario
представляет собой массив идентификаторов, которые находятся в форме ввода ngValue
saveFunction() {
for (const pair of this.selectedScenario) {
this.ruleToSave = null;
this.ruleService.find(pair[0]).subscribe((ruleResponse: HttpResponse < Rule > ) => {
this.rule1 = ruleResponse.body;
});
this.ruleService.find(pair[1]).subscribe((ruleResponse: HttpResponse < Rule > ) => {
this.rule2 = ruleResponse.body;
});
const head1 = this.rule1.optionHead;
const head2 = this.rule2.optionHead;
if (
this.selectedOption === head1 &&
this.selectedOption !== head2 &&
(this.selectedWeakerOption === '' || head2 === this.selectedWeakerOption)
) {
..some code
this.subscribeToSaveResponse(this.ruleService.createRule(this.ruleToSave));
}
}
}