Удалить сообщения об ошибках из консоли браузера (Angular HttpClient) - PullRequest
0 голосов
/ 23 апреля 2019

Есть ли способ с помощью HttpClient удалить сообщения об ошибках из консоли браузера?

Мой текущий код выглядит так:

  getStuff(stuffId: string): Observable<Stuff[]> {
    return this.httpClient.get<Stuff[]>(this.stuff() + stuffId + '/stuff/').pipe(
      catchError((err) => {
        console.log(err.status);
        if (err.status === 404) {
          console.log('Not found');
        }
      })
    );
  }

My console.log ('Not found') в операторе if выполняется, но все равно выдает стандартную ошибку в консоль.

Моя цель: ничего красного в консоли:)


ОБНОВЛЕНИЕ:

Ошибки генерируются не в Firefox, а в Google Chrome.Почему? .. * * 1013

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Стандартная ошибка, которую вы видите в консоли, на самом деле не из кода. Это из сети, из-за ошибки API. Браузеры учитывают и понимают стандартные коды ответов http. Таким образом, всякий раз, когда любой HTTP-запрос возвращает код ответа, отличный от 2xx, они считают его ошибкой и показывают его красным цветом в консоли. К сожалению, вы не можете удалить его. Это делается браузером.

0 голосов
/ 23 апреля 2019

Обратный вызов на catchError должен вернуть Observable, чтобы вы могли просто вернуть, например, EMPTY, который просто завершает и ничего не излучает:

import { EMPTY } from 'rxjs';

...

catchError((err) => {
  console.log(err.status);
  if (err.status === 404) {
    console.log('Not found');
  }
  return EMPTY;
});
...