小编use*_*682的帖子

AngularJS - 我们应该在服务中包装$ http方法吗?

我的问题是,鉴于拦截器的强大功能,包装$http服务是否有意义,以便我所有其他代码只调用该包装器.现在拦截器可以很容易地完成标头/异常处理等基本任务.虽然我现在无法想到一个有效的用例,但是我们只是为了屏蔽任何未来的api更改等等$http?或者可能以后迁移到$ resource?

另请注意,这里我讨论的是围绕$http方法的基本包装器服务,而不是像DataService这样的客户端服务,方法是sendData,receiveData包装$http调用.请在下面找到示例代码 -

angular.module(‘myapp’).factory(‘myhttpwrapper’, ['$http', function (http) {
  return {

    myGet: function (getUrl) {
      return http.get(getUrl);
    },
    myPost: function (postUrl, data) {
      return http.post(postUrl, data);
    },
    // other $http wrappers
  };
}]);
Run Code Online (Sandbox Code Playgroud)

现在,所有其他的代码将使用myhttpwrapper的myGet,myPost方法代替$http的GET,POST方法.希望它有意义!

[编辑]我们肯定会使用的用例是截取添加标题,日志记录和日志记录,异常处理等响应的请求.但我确信这些可以由拦截器处理.后来从$ http移动到$ resource目前尚不清楚.

谢谢.

angularjs

12
推荐指数
1
解决办法
6987
查看次数

标签 统计

angularjs ×1