[Javascript] AngularJS : $ http 성공 콜백의 범위 문제


Answers

아니야.

console.log($scope.customers); // empty []

전에 실행

console.log($scope.customers); // Object with correct data

?

두 번째 것은 success () 콜백에 있으므로 첫 번째 것보다 훨씬 나중에 실행할 수 있습니다.

Question

나는 PHP를 사용하여 컨트롤러 내에서 성공 콜백 함수에서 올바르게 표시되는 내 공장으로 데이터를 가져옵니다. 그러나 반환 된 데이터를 $ scope.customers에 할당 한 후에도 콜백 후에 console.log ($ scope.customers)를 수행하면 안되며 내 뷰의 [ng-repeat]도이를 선택하지 않습니다.

내 $ scope 객체에 반환 된 데이터를 할당하는 경우 내 데이터의 범위가 성공 콜백 내부로 제한되는 이유는 무엇입니까?

var customersController = function($scope, customersFactory) {
  $scope.customers = [];
  customersFactory.getAllData()
    .success(function(customers) {
      $scope.customers = customers;
      console.log($scope.customers); // Object with correct data
    }); // No errors so only showing happy path
  console.log($scope.customers); // empty []
};
customersModule.controller('customersController', ['$scope', 'customersFactory', customersController]);