如何捕获AngularJS中的http连接错误?

时间:2016-05-11 12:26:11

标签: javascript angularjs http dns interceptor

我设置了一堆$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: -1statusText: ""

我想了解ERR_NAME_NOT_RESOLVED错误。我有什么方法可以在responseError处理程序参数中收到该错误吗?

0 个答案:

没有答案