これは状況です:
$scope.signupNow = function() {
retrieveData();
console.log($scope.userid);
}
function retrieveData(){
// ** some http request **
$scope.userid = id;
}
は今、HTTP要求が実行に時間がかかるし、それだけで関数を呼び出した後、印刷しているため、「$のscope.userid」の値はありません。
応答が来るまで待つ方法をお勧めしますか?
をコールバック関数でコードを書き留めます。それはAJAXの 'async'の振る舞いのために起こっています。 '.then(function(){' - code - '})'にコードを入れよう – Vineet
Angularのウェブサイトで$ httpのドキュメントを読んだことがありますか?それは約束の使用をかなり明確に記述しています(あなたはその話題についていくつか読んでみたいかもしれません)。 – Raxr