从服务到控制器应返回哪些数据?

时间:2016-01-21 11:34:06

标签: angularjs

我正在使用Angular并定义了一个服务和一个控制器。

当出现错误时,我需要向用户显示一条消息。 我应该处理控制器或控制器和服务上的错误吗?

服务是否应返回$ 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信息。

1 个答案:

答案 0 :(得分:0)

一般

  

服务用于API调用和   控制器用于使用在UI上显示的所需逻辑来编写/修改数据(来自API)。