我有以下代码,它返回一个承诺,这正是我这次调用所需要的。现在我想让我对 $resource 的调用返回一个承诺,但我无法让它做我需要的事情。
get: function (applicationId) {
return $http({
method: 'GET',
url: '/api/TestAccounts/GetSelect',
params: { applicationId: applicationId }
});
}
我的资源编码如下:
var Test = $resource('/api/Tests', {}, {
saveData: { method: 'PUT' },
deleteData: { method: "DELETE", params: { testId: 0 } }
});
当我运行以下命令并将数据正确返回到 resp 变量中时。然而,这不是我想要的。
query: function (selectedSubject) {
Test.query({ subjectId: selectedSubject },
function (resp) {
var aa = resp;
}
);
}
问:我想回报一个承诺。有没有一种方法可以让 $resource 像调用 $http 那样返回一个承诺?我正在寻找的是一个承诺,因此我可以执行以下调用代码:
testService.query($scope.selectedSubject)
.then(function (result) {
var a = result.data;
}, function (result) {
alert("Error: No data returned");
});