Javascript AngularJS使用点语法API创建服务

Javascript AngularJS使用点语法API创建服务,javascript,angularjs,Javascript,Angularjs,我想创建一个我的控制器可以使用的API服务,而不是直接与$http服务接口 我有: app.factory("API", function($http) { var service = { performRequest: function(path, method, params, success) { $http({ url: path, method: method, params: param

我想创建一个我的控制器可以使用的API服务,而不是直接与
$http
服务接口

我有:

app.factory("API", function($http) {

    var service = {
      performRequest: function(path, method, params, success) {
        $http({
          url: path,
          method: method,
          params: params,
          withCredentials: true
        }).success(function(data) {
          success(data);
        });
      }
    }

    return service;
  }
);
它的使用方式是:

API.performRequest("/signout", "POST", null, function(data) {
   // on success
});
我希望能够拥有
.success
属性,比如
$http
服务,因为当前
函数(数据)
并不意味着它的用途

我想要的是:

API.performRequest("/signout", "POST", null).success(function(data) {
   // on success
});

我将如何实现这一点?

performRequest
返回
$http
承诺

app.factory("API", function($http) {
    var service = {
      performRequest: function(path, method, params, callback) {
       return  $http({
          url: path,
          method: method,
          params: params,
          withCredentials: true
        });
      }
    }
    return service;
  }
);

谢谢,这很有效。但我真正想知道的是,一般来说,我会怎么做这样的事情。假设我没有使用$http,我希望我的服务上有一个
.success
属性。在一般情况下我该怎么做?我不知道你的确切意思,但可以使用
$q
库创建的承诺,然后使用
然后