В 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);
));
}