我正在使用Angular并定义了一个Service和一个Controller。应将哪些数据从服务返回给控制器?
当出现错误时,我需要向用户显示一条消息。 我是否应该处理控制器或控制器和服务上的错误?
服务应该返回$ http并处理控制器上的所有内容吗?
function postService($http, $log, settings) {
return {
get: function() {
return $http.get("/api/recent-posts");
}
}
}
还是应该服务仅返回件控制器:
function postService($http, $log, settings, $q) {
return {
get: function() {
return $http.get("/api/recent-posts")
.then(function (response) {
return response.data;
}, function (response) {
$log.error("Service Error");
return ($q.reject("Service Error"));
});
}
}
在第二个选择,我也不回满$ HTTP信息提供给控制器。
你应该从服务返回承诺,然后切换到控制器作进一步处理,在那里你可以处理所有的业务登录包括有效/无效 –