Angular $http 未处理错误

Angular $http not handling error

我的 angular 应用程序不处理 $http 调用中的错误。

我在 errorResponse 中有一个 $httpProvider,其中我 return $q.reject(response) 按照文档的要求。在控制台中 angular 只是把 angular.min.js:99 GET http://localhost:8080/my/api 500 (Internal Server Error).

代码

console.log('before');
$http.get('/my/api', function(response){
   console.log('ok');
   console.log(response);
}, function(response){
    console.log('not ok');
    console.log(response)
});
console.log('after');

我刚收到 'before'、'after' 和上面的消息。

同样在网络选项卡中,我从服务器获得了预期的响应,状态为 500,正文中有 json 内容。

除了 $httpProvider 的 errorResponse 没有 return $q.reject() 之外,可能是什么问题?

你有语法错误,你应该使用.then函数,然后将成功和错误回调给他们。

代码

$http.get('/my/api').then(function(response){
   console.log('ok');
   console.log(response);
}, function(response){
    console.log('not ok');
    console.log(response)
});

根据您的 code/question 我的理解是,您希望执行 error 回调函数,但它并没有这样做。如果我错过了什么,请在评论中提出同样的问题。