У меня есть перехватчик ошибок, как показано ниже:
RestangularProvider.addErrorInterceptor((response) => {
const error = EnumerableFromObject(response.error.Errors)
.Select(i => i.Value.Message)
.FirstOrDefault();
toastr.error(error, "Error");
return true;
});
}
Ниже приведен код моей службы аутентификации:
async Login(login: string, password: string) {
const sessions = this.rest.all("sessions");
const params = {Login: login,Password: password };
const response = await sessions.post(params).toPromise();
return response;
}
И вот как я вызываю его в моем компоненте:
this.loader.show();
const response = await this.authorizationService.Login(login, password);
this.loader.hide();
Поэтому мне нужно скрыть загрузчик после того, как служба завершена, сбой или нет.
Моя проблема возникает, когда запрос не выполняется по какой-либо причине - например, неверные учетные данные - выполнение останавливается, &оно никогда не достигает this.loader.hide();
Как я могу справиться с этим без использования then
.В моем проекте все методы вызываются с await
.Так что я не могу удалить ожидание и использовать тогда.Это потребует очень много переделок.
Кто-нибудь может сказать мне, что мне здесь не хватает?