@jack3d

Почему в angular за пределами запроса data undefined?

Factory:
angular.module('sample').factory('PostService', ['$resource', '$rootScope', '$q',
	function ($resource, $rootScope, $q) {
		var PostService = $resource('/api/:action/:hub_id/posts', {}, {
			posts: {
				method: 'GET',
				params: { action: 'feed', hub_id: '90f9a03', isArray: false }
			};

		return PostService;
	}]);

В контроллере:
$scope.getPosts = PostService.posts(function(posts) {
      $scope.posts = posts.results;
        console.log($scope.posts); //work
    });
      console.log($scope.posts); //undefined
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
premas
@premas
Full-stack web-developer
Потому что JavaScript выполняется асинхронно. Нельзя замораживать все и ждать, пока придет ответ с сервера. Либо работайте в замыканиях каллбэков, либо осваивайте промисы.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы