У меня есть форма после заполнения, которую я отправляю в бэкэнд. Если форма действительна, я должен показать всплывающие окна с флажками. Флажки должны начать проверяться, в случае, если ответ от сервера пришел 1700, все флажки должны быть проверены, и всплывающее окно должно быть закрыто, и если ответ не 1700, должна быть проверена пара флажков, но не все, всплывающее окно должно быть закрыто и должно быть перенаправлено на другую страницу. Я могу сделать только ограниченное количество отмеченных флажков (когда ответ не 1700). Но как сделать это по-разному каждый раз? Так что, как только ответ придет с сервера, а не 1700, немедленно прекратите проверку.
public sendApplication(): void {
if (this.formService.isFormValid(this.formGroup)) {
this.dialogProcessing
= this.dialog.open(FoDialogBankVerificationComponent, {
width: '500px',
disableClose: true,
data: this.checkBoxValues,
});
this.submit()
.pipe(
take(1),
timeout(10000))
.subscribe(res => {
this.checkBoxValues.forEach((checkbox, index) => {
this.interval = setInterval(() => {
checkbox.isChecked = true;
if (res.id === 1700) {
if (index === this.checkBoxValues.length - 1) {
this.status = res.id;
this.dialogProcessing.close();
}
} else {
if (index === 3) {
this.dialogProcessing.close();
this.navigationService.navigateToDeniedPage();
}
}
clearInterval(this.interval);
}, index * 1000);
});
},
() => {
this.dialogProcessing.close();
this.notificationService.showGetErrorNotification();
});
}
}