如何向AngularJS $资源服务调用添加错误处理程序?

时间:2014-08-12 21:36:37

标签: angularjs

我的应用程序中有以下服务,可以使用

myServices.factory('Auth', ['$resource',
  function($resource){
    return {
      Login: $resource(serviceURL + 'portal/admins/login', {}, { go: { method:'POST', isArray: false }}),
      Logout: $resource(serviceURL + 'portal/admins/logout', {}, { go: { method:'POST', isArray: false }})
    };
  }
]);

如何添加错误处理程序?

我根据Explosion Pills的建议尝试了这个,但它不起作用:(

Auth.Get.go({...}, function(response){
    // Success everyhting is good
}).$promise.error(function(error) {
    console.log('error');
});

这是我得到的错误:

错误:'未定义'不是函数(接近' ...})。$ promise.error(函数(数据){...')

感谢Explosion Pills ......只需要在承诺代码中添加更多内容

Auth.Login.go().$promise.then(function(data) {
               //Success
             }, function(error) {
               //Error
             });

1 个答案:

答案 0 :(得分:0)

The documentation说:

  

资源实例和集合具有以下附加属性:

     

$ promise:创建此实例或集合的原始服务器交互的承诺。

     

[...]

     

失败时,使用http响应对象解析promise,而不使用resource属性。