我使用UI-Router使用$q.all
解析2个承诺。如果任何一个promises返回错误,我该如何处理错误?根据错误的类型,我想返回一个错误模板。
.state('main', {
// ...
resolve: {
config: function(Service1, Service2, $q) {
return $q.all({
example1Data: Service1.get().$promise,
example2Data: Service2.get().$promise
});
}
}
}
答案 0 :(得分:0)
您可以做的是收听错误事件$stateChangeError
并将状态重定向到错误页面。这个:
angular.module('yourapp').run(function($rootScope, $state) {
$rootScope.$on('$stateChangeError', function() {
// Redirect user to your error page
$state.go('root.error');
});
});