2016-02-09 2 views
0

У меня есть некоторый код, как показано ниже:Невозможно прочитать значение после углового толчке

$scope.offer = []; 
angular.forEach($scope.details, function (product) { 
    SomeAPI.ById.query({ product: product.id }, function (response) { 
    $scope.offer.push(response); 
    }); 
    return $scope.offer; 
}); 
console.log($scope.offer); 

Почему журнал консоли все еще положить «[]»? На странице {{ offer }} отображаемое значение правильно.

+0

Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (http://stackoverflow.com/questions/14220321/how-do-return-the-response -из-ан-асинхронно-вызов) – Tushar

ответ

0

ваш API является функцией асинхронной

SomeAPI.ById.query({ product: product.id }, callback); 
console.log('query is still running. callback will be done later') 

выше обратного вызова будет вызываться позже после того, как асинхронная функция завершена. ваш console.log немедленно вызван

Смежные вопросы