如果响应状态不在2XX系列中,angular2的http客户端是否会引发异常?

如果响应状态不在2XX系列中,angular2的http客户端是否会引发异常?,angular,http,rxjs,Angular,Http,Rxjs,如果响应的状态代码不属于2xx系列,则在对从HTTP请求返回的可观察的执行映射时,控件自身到达catch块,甚至不在map的成功回调下。这就是它的工作原理吗?我在哪里可以找到这方面的相关代码? 我说的是响应中的状态代码,使其转到捕获(除非很明显,我的地图本身没有错误),对吗?是的。Angular的HTTP实现检查状态代码,如果接收到不成功的状态代码,则会从observable发出错误 请参阅中的issucess方法: export const issucess=(状态:number):boole

如果响应的
状态代码
不属于
2xx
系列,则在对从
HTTP
请求返回的
可观察的
执行
映射时,控件自身到达
catch
块,甚至不在
map
的成功回调下。这就是它的工作原理吗?我在哪里可以找到这方面的相关代码?
我说的是响应中的
状态代码
,使其转到
捕获
(除非很明显,我的地图本身没有错误),对吗?

是的。Angular的HTTP实现检查状态代码,如果接收到不成功的状态代码,则会从observable发出错误

请参阅中的
issucess
方法:

export const issucess=(状态:number):boolean=>(状态>=200&&status<300);
以及
XHRConnection
中的实现:

const response=新响应(responseOptions);
response.ok=isSuccess(状态);
if(response.ok){
responseObserver.next(响应);
//TODO(gdi2290):延迟完成阵列缓冲区,直到完成
responseObserver.complete();
返回;
}
responseObserver.error(响应);