0
我正在使用提供程序通過我的角度應用程序中的API獲取一些數據,然後在控制器中使用它。 API調用有時會關閉,導致500錯誤。這個錯誤會打印到控制檯,我不知道如何正確處理它。AngularJS - 承諾處理錯誤
這裏是我的供應商代碼:
function myPvdr() {
this.getUrl = function() {
return 'http://path/to/my/API';
};
this.$get = function($q, $http) {
var self = this;
return {
getData: function(points) {
var d = $q.defer();
$http({
method: 'GET',
url: self.getUrl(),
cache: true
}).success(function(data) {
d.resolve(data);
}).error(function(err) {
d.reject(err);
});
return d.promise;
}
}
}
}
這裏是我如何使用它在我的控制器:
function myCtrl($scope, myProvider, localStorageService) {
$scope.myData = localStorageService.get('data') || {};
myProvider.getData()
.then(function(data) {
localStorageService.set('data', data);
$scope.data = data;
});
}
我怎樣才能妥善處理500錯誤,即不引發任何錯誤控制檯並使用本地存儲提供的數據(如果有)?
非常感謝
這對Angular來說是不可知的。作爲錯誤處理問題的副本關閉。另外請考慮閱讀關於延期反模式以及如何避免它。你的整個getdata可以類似地返回$ http.get(...因爲$ http已經返回promise。 – 2014-09-23 22:58:53