Какой код статуса ответа отправляется на catchError в Angular 6+ httpClient? - PullRequest
0 голосов
/ 27 марта 2019

В Angular 6+ httpClient можно настроить запрос для получения полного ответа.

Наблюдаемый ответ может быть передан в операторы map и catchError.

Когда выполняется выполнение через оператор map, а когда catchError?

Зависит ли это от кода статуса ответа?

Например, если response.status === 200, тогда перейти к map, иначе перейти к catchError?

Если не только статус 200 переходит на map, то что еще?

А какие статусы переходят на catchError?

getData(): Observable<[]> {
    return this.http.get(this.apiUrl, {observe: 'response'}).pipe(
        map((response: HttpResponse<any>) => {  
            return response.status === 200;
        }),
        catchError((errorResponse: HttpErrorResponse) =>
            // which value may be logged here?
            console.log(errorResponse.status);
            of(false);
        ));
}

1 Ответ

1 голос
/ 27 марта 2019
Коды состояния

4xx и 5xx являются ошибками. Другие - это успех.

http://angular.io/guide/http#getting-error-details

...