2016-05-03 8 views
0

内の$スコープ変数を割り当てる:は、私は以下のコードをお持ちDBService

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関数内で何をしているのが正しいのですか?データが取得された後に他のことが起こる必要がある場合は、その関数内からそのコードを呼び出すこともできます。 –

+0

例を投稿できますか?私は呼び出しが終了するのを待って、変数に結果を代入したいと思います。 – MarcJohnson

関連する問題