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