У меня есть директива о том, что я заказываю услугу, которая вызывает $http
звонки на задний конец.
Как вы обрабатываете ошибки 404/401/HTTP в целом? Я ищу образец лучшей практики.
$http
сожрает и отвергает обещание при попадании в сообщение об ошибке HTTP?
Это то, что я до сих пор, и это, кажется, работает нормально, но я не уверен, что я делаю рекомендуемый способ:
Услуги
app.service('helpService', ['$http', function ($http) {
return {
getHelpUrl: function (pageUrl) {
return $http.post('Home/GetHelpUrl', { pageUrl: pageUrl });
}
}
}]);
Директива
app.directive('helpLink', ['$location', 'helpService', function ($location, helpService) {
return {
restrict: 'A',
replace: true,
scope: {},
template: function (elem, attrs) {
return '<a ng-href="{{helpUrl}}" ng-show="showLink" target="_blank">Help?</a>';
},
link: function (scope, elem, attrs) {
scope.showLink = false;
helpService.getHelpUrl($location.path()).success(function (data) {
scope.helpUrl = data.helpUrl;
scope.showLink = true;
});
}
}
}]);
в '.then' вы говорите, используя это как так:' .then (функция (successResult) { }, function (errorResult) {}); '? – Sam
Да, см. Это [ссылка] (http://docs.angularjs.org/api/ng.$http) (раздел «Возвращает» прямо над «Методами») для структуры объекта «successResult» и «errorResult» – calebboyd