Angular 6+ httpClient中哪个响应状态代码转到catchError?

时间:2019-03-27 17:23:31

标签: angular angular-httpclient rxjs6

在Angular 6+ httpClient中,可以将请求配置为获取整个响应。

可观察到的响应可以通过管道传递到mapcatchError运算符中。

何时执行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 个答案:

答案 0 :(得分:1)

4xx和5xx状态代码为错误。其他都是成功。

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