我设置了一堆$resource
。在某些情况下,我使用的API服务器会使它们超时,或者无法解析其域名。这些是预期的案例。
如何在AngularJS中捕获这些错误?我试过设置一个$http
拦截器,但它并不是真的很冗长。
$httpProvider.interceptors.push(function($q, $rootScope) {
return {
responseError: function(rejection) {
console.log(rejection);
if(rejection.status <= 0) {
$rootScope.$emit('httpConnection:error', rejection);
}
return $q.reject(rejection);
}
};
});
控制台输出
GET http://my.api/api/endpoint.json net::ERR_NAME_NOT_RESOLVED
Object {data: null, status: -1, config: Object, statusText: ""}
请注意status: -1
和statusText: ""
。
我想了解ERR_NAME_NOT_RESOLVED
错误。我有什么方法可以在responseError
处理程序参数中收到该错误吗?