具有服务依赖性的Angular全局错误处理程序

时间:2014-05-22 17:44:38

标签: angularjs configuration error-handling

尝试创建一个全局错误处理程序,它应该通过配置$ httpProvider添加拦截器来呈现错误模式。模态产生对服务的依赖。我无法注入配置块。 我尝试使用$ injector延迟加载服务,但不起作用。 你会如何解决它?

编辑刚找到的$ exceptionHandler,尝试一下。没有运气cirk dep:$ modal< - errorModalService< - $ exceptionHandler< - $ rootScope

1 个答案:

答案 0 :(得分:4)

是的,AngularJS DI子系统确实很棘手,具有循环依赖性。不确定您尝试了什么以及哪些措施无效,但您始终可以从$injector获得所需的依赖关系。从$http拦截器执行此操作非常简单:

  .factory('errInterceptor', function ($q, $injector) {
    return {
      responseError: function(response) {
          $injector.get('$modal').open({
            template: '<h4>$http error!</h4>',
          });
      }
    }
  })

这是一个有效的插件:http://plnkr.co/edit/n172IrR9259qi4qG0H3I?p=preview