Почему не сработал finilize при неуспешном запросе http?
Метод, вызываемый по клику:
public update(): void {
this.loading = true;
this.applicationBuildingsService
.update(this.form.value)
.pipe(
finalize(() => {
this.loading = false;
}),
)
.subscribe(
(response) => {
this.messageService.showMessage('', 'Операция прошла успешно', 'success');
this.dialogRef.close(response);
},
() => {
this.messageService.showMessage('', 'Операция прошла неуспешно', 'error');
},
);
}
Сервис:
update(data: Building): Observable<any> {
let headers = new HttpHeaders();
if (data.ts) {
headers = headers.append('TS', data.ts);
}
return this.http.post(`${this.baseUrl}/update`, data, { headers });
}
Почему - если сервак выдает http < 200 то:
finalize(() => {
this.loading = false;
}),
Не срабатывает и не меняет статус переменной this.loading = false;