我正在使用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');
});
});