我有一个带有功能的角度服务:
service.getItemByID = function(id) {
var hp = $http({method: "GET", url: "service/open/item/id",
headers: {"token": $rootScope.user.token},
params: {"id": id}});
return hp;
};
我需要在发送返回值之前对其进行操作,并且我希望保持 HttpPromise 结构完整,因为我的控制器代码被编写为期望 HttpPromise 的成功和失败函数存在。
我已将服务重写为如下所示:
service.getItemByID = function(id) {
var hp = $http({method: "GET", url: "service/open/item/id",
headers: {"token": $rootScope.user.token},
params: {"id": id}});
var newHP = hp.success(
function(data, status, headers, config) {
data.x = "test"; //TODO: add full manipulation
alert("success");
return hp;
});
return newHP;
};
此代码有效,无论我返回 hp 还是 newHP,它都有效。我的问题是:这是 HttpPromise 链接的正确形式吗?