0
これについて他の質問がありましたが、私は助けになりませんでした。URLのhttpリクエストの無限ループ
私はangularjsコントローラ内の機能があります。
$scope.getUser = function(id){
ret = null;
$http.get('services/rest/users/' + id).then(
function(response){
ret = response.data.name;
},
function(response){
}
)
return ret;
}
をそして私はHTMLでその関数を呼び出す:
<div ng-repeat = "move in moves">Player:<span> {{getUser(move.player_id)}} </span> - {{move.guess}} - {{move.answer}}</div>
そして、これが'services/rest/users/' + id
リクエストの無限ループを作成します。スコープ内のオブジェクトが常に変化しているときに、角度がこれを行うことができるのを見ましたが、私はここでこれを見ません。
ではありませんあなたの1つのリクエスト(バックエンド)が完了するたびに、ダイジェストサイクルが何度も何度も呼び出されています。これは、ng-repeatディレクティブを再び呼び出すことができます。 –
まず、$ qを使用してユーザーに約束をし、応答の場合は解決し、エラーの場合は拒否します。次に、ng-repeatで複数のhttpリクエストを呼び出すことは悪い習慣です。可能であれば、データが1つの要求でデータを取り込み、データが準備できたら、movesスコープ変数にバインドされた配列を設定します。 –
'ng-repeat'がなくてもループします。私は別の場所からその機能を呼び出し、再びループを開始しました。 '$ q'で試してみます。 – wdc