【发布时间】:2017-11-27 02:32:10
【问题描述】:
我见过不同的 Restful API facotires 错误处理示例,这有点令人困惑。举两个例子:
一个
angular.module('app').controller('userCtrl', function($scope, User) {
$scope.users = [];
$scope.error = '';
User.getUsers().then(function(response) {
$scope.users = response.data;
}, function(response) {
$scope.error = 'Users not found';
})
});
angular.module('app').factory('User', function($http) {
var service = {};
service.getUsers = function() {
return $http.get('url-here').then(function(response) {
return response;
});
}
return service;
});
B
angular.module('app').controller('userCtrl', function($scope, User) {
$scope.users = [];
$scope.error = '';
User.getUsers().then(function(response) {
if(response.status == 404) {
$scope.error = 'Users not found';
} else {
$scope.users = response.data;
}
});
});
angular.module('app').factory('User', function($http) {
var service = {};
service.getUsers = function() {
return $http.get('url-here', function(response) {
return response;
}, function(response) {
return response;
});
}
return service;
});
哪一个是最佳实践?就像,如果找不到用户,我会 想告诉没有用户,如果有内部服务器错误(500),我想告诉类似“出了点问题,稍后再试”。
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。避免一次问多个不同的问题。 A 和 B 都是错误的,选项 B 更糟。
-
抱歉,我编辑了我的问题@georgeawg
-
删除这个问题,写一个新问题,只有一个例子要修复。