Почему не сработал 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;
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
21 окт. 2020, в 22:40
300 руб./за проект
21 окт. 2020, в 22:34
25000 руб./за проект
21 окт. 2020, в 21:24
7000 руб./за проект