2016-05-03 3 views
0

У меня есть следующий код:

var $pid = 1;  
$scope.records = []; 

DBService.getUserById($pid) 

    .then(function(data) { 
    $scope.records = data; 
    console.log("OUTSIDE",$scope.records); // Shows [Object, Object, Object, Object, Object, Object] 
}); 
console.log("OUTSIDE:",$scope.records); // // Shows [] 

Почему последний журнал пуст? И как мне получить данные обратного вызова внутри переменной $ scope?

ответ

2

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

+0

Спасибо за ваш ответ. Я знаю, что это асинхронно. Но как подождать окончания вызова и сохранить данные в моей области? – MarcJohnson

+0

То, что вы делаете в рамках функции then, является правильным для этого. Если вам понадобятся другие вещи после того, как данные были восстановлены, вы также можете вызвать этот код из функции then. –

+0

не могли бы вы привести пример? Я хочу дождаться завершения вызова, а затем назначить результат переменной – MarcJohnson

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