У меня есть следующий код, и он возвращает обещание, которое является тем, что мне нужно для этого вызова. Теперь я хочу, чтобы мой призыв к $ resource возвратил обещание, но я не могу заставить его делать то, что мне нужно.Есть ли способ, которым я могу сделать вызов ресурса, вернуть обещание с помощью AngularJS?
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 } }
});
Когда я запускаю следующий и он правильно возвращает данные в переменную соотв. Однако это не то, что я хочу.
query: function (selectedSubject) {
Test.query({ subjectId: selectedSubject },
function (resp) {
var aa = resp;
}
);
}
Q: Я хотел бы вернуться обещание. Есть ли способ, который я могу сделать $ resource вместо обещания, как вызов $ http? То, что я ищу это обещание, так что я могу выполнить следующий вызывающий код:
testService.query($scope.selectedSubject)
.then(function (result) {
var a = result.data;
}, function (result) {
alert("Error: No data returned");
});