在UI-Router中处理$ Q错误解决



我正在使用ui-router使用 $q.all解决2个承诺。如果两个承诺返回错误,我该如何处理错误?根据错误类型,我想返回错误模板。

.state('main', {
    // ...
    resolve: {
       config: function(Service1, Service2, $q) {
          return $q.all({
            example1Data: Service1.get().$promise,
            example2Data: Service2.get().$promise
          });
        }
    }
}

您可以做的是收听错误事件$stateChangeError,然后将状态重定向到您的错误页面。某事:

angular.module('yourapp').run(function($rootScope, $state) {
    $rootScope.$on('$stateChangeError', function() {
      // Redirect user to your error page
      $state.go('root.error');
    });
  });

最新更新