我有一个决心在我的routeprovider上工作,但我只是返回承诺,所以我不知道它的成功或失败。这是我AngularJS:在RouteProvider中解析 - 检测成功/失败?
.when('/items', {
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
resolve: {
resolvedData: function(Restangular) {
return Restangular.one('Items').get();
}
}
})
现在这的工作,但我怎样检测成功或失败...我可以在解决方法进入这一点,但你会回到我的成功和失败......记住我需要在我的控制器中注入项目。
.when('/items', {
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
resolve: {
resolvedData: function(Restangular) {
Restangular.one('Items').get().then(function(data) {
// success
}, function() {
// failure
});
}
}
})
我在这里看到一个例子,但我很困惑,如果这是我需要和如何使用它?
AngularJS - rejected $http promise with $routeProvider:resolve
这似乎是返回一个手动承诺。
resolve: {
response: ['Warranty'
'$q',
function(Warranty, $q) {
var dfd = $q.defer();
Warranty.sendRequest().then(function(result) {
dfd.resolve({
success: true,
result: result
});
}, function(error) {
dfd.resolve({
success: false,
reason: error
});
});
return dfd.promise;
}
]
}
我真的很感谢任何人的帮助。
我真的想要做的是在我的控制器有解决变量注入到控制器,如果它失败了,那么我也想访问控制器中的失败,所以我可以向用户显示它没有由于问题而无法呈现。
啊,这是伟大的,在我的控制器中,我将如何确定我注射的价值是成功还是失败? – Martin
返回一个对象,例如{success:true,data:...} –