Задать вопрос
@daniilkholodniy

Как сохранить результат запроса при использовании $resource?

Почему при использовании кода вроде:
$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.
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Gilga
Мб $scope.receiveData = response.data;
Ответ написан
@Ramallah
Потому что промисы и асинхронность.
Ответ написан
Возможно
.controller 'someCtrl', ($scope, QueryesService) ->
  $scope.receiveData = {}
  $scope.getSomeData = ->
    QueryesService.get currentService : 'service1', (response) ->
       angular.extend $scope.receiveData, response

Из текста не особо понятно, что ты хочешь конкретно сделать
Может тебе поможет IcedCoffeeScript
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Крона Лабс Екатеринбург
от 200 000 ₽
PravoTech Москва
от 120 000 до 230 000 ₽
PravoTech Москва
от 150 000 до 200 000 ₽