次のコードがあり、この呼び出しに必要なプロミスを返します。$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;
}
);
}
Q:約束を返したいです。$http の呼び出しのように、代わりに $resource が約束を返すようにする方法はありますか? 私が探しているのは約束なので、次の呼び出しコードを実行できます。
testService.query($scope.selectedSubject)
.then(function (result) {
var a = result.data;
}, function (result) {
alert("Error: No data returned");
});