Я хочу создать форму с сообщением об ошибке, если имя уже существует или группа не существует. У меня появляется сообщение об ошибке от сервера, когда я нажимаю на кнопку отправить. Теперь я закрываю диалоговое окно с функцией «Подтвердить закрытие».
<button mat-raised-button class="createUserBtn" color="primary" type="submit" [disabled]="form.invalid" (click)="onCloseConfirm()">Save</button>
Но теперь мне нужно нажать на кнопку «Сохранить», дождаться сообщения об ошибке или нет. Если сообщение, отобразить его и открыть диалоговое окно. Если сообщение об ошибке отсутствует, выполните функцию «Подтвердить закрытие».
Проблема, с которой я столкнулся, заключается в асинхронном ожидании, я жду ответа сервера, чтобы проверить ошибку или нет, и после закрытия или нет диалогового окна.
это моя функция. Отправить
error = false;
errorMessage = '';
onSubmit() {
if (this.form.valid) {
this.fixtureService.create(this.form.value)
.catch(error => {
console.log(error);
if (error.error.error ==='FIXTURE_NAME_TAKEN') {
console.warn("Fixture name already exist");
this.error = true;
this.errorMessage = 'Fixture name already exist'
} else if (error.error.error ==='GROUP_NOT_FOUND') {
console.warn("Group selected doesn't exist");
this.error = true;
this.errorMessage = 'Group selected doesn\'t exist'
} else onCloseConfirm();
}