Ich sah andere Fragen dazu aber hat mir nicht geholfen.Unendliche Schleife von http Anfragen in angularjs
Ich habe Funktion in AngularJS Controller:
$scope.getUser = function(id){
ret = null;
$http.get('services/rest/users/' + id).then(
function(response){
ret = response.data.name;
},
function(response){
}
)
return ret;
}
Und ich rufe diese Funktion in html:
<div ng-repeat = "move in moves">Player:<span> {{getUser(move.player_id)}} </span> - {{move.guess}} - {{move.answer}}</div>
Und das schafft Endlosschleife von 'services/rest/users/' + id
Anfragen. Ich habe gesehen, dass eckig dies tun kann, wenn sich ein Objekt im Umfang ständig ändert, aber ich sehe das hier nicht.
Ist das nicht es aufgrund des Digest-Zyklus immer wieder aufgerufen wird, wenn Ihre eine Anfrage (Backend) abgeschlossen ist? Das kann die ng-repeat-Anweisung erneut aufrufen. –
Zuerst machen Sie den Benutzer ein Versprechen mit $ q und lösen Sie wenn Antwort oder ablehnen, wenn Fehler. Zweitens ist es eine schlechte Übung, mehrere http-Anfragen in ng-repeat aufzurufen. Bringen Sie Ihre Daten in eine Anfrage, wenn Sie können und wenn die Daten bereit sind, füllen Sie ein Array, das an die Bewegungsbereichsvariable gebunden ist. –
Es läuft sogar ohne 'ng-repeat'. Ich habe diese Funktion von einem anderen Ort aus aufgerufen und es begann erneut zu loopen. Versuche es mit '$ q'. – wdc