Почему при использовании кода вроде:
$http.get(url).
success(function(response) {
$scope.receiveData = response;
});
переменная receiveData хранит данные полученные при запросе,
a в случае с
$resource:
var someServices = angular.module('someServices', ['ngResource']);
someServices.factory('QueryesService', ['$resource', function($resource) {
return $resource('http://url/:currentService/:param');
}]);
var someControllers = angular.module('someControllers', []);
someControllers.controller('someCtrl', ['$scope', '$http', 'QueryesService', function($scope, $http, QueryesService) {
$scope.getSomeData = function() {
QueryesService.get({currentService : 'service1'}, function(response) {
$scope.receiveData = response;
});
};
$scope.receiveData; //undefined
}]);
при обращении к переменной
receiveData возвращается
undefined? Знаю что дело в асинхронности и в
deffered promise, но своими силами никак не могу разобраться, как все же добиться сохранения результата запроса, что бы можно было эту переменную использовать как и в случае с $http.get.