Javascript AngularJS使用点语法API创建服务
我想创建一个我的控制器可以使用的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
$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
库创建的承诺,然后使用然后