Ich habe in meiner App AngularJS (1.6.3) ein seltsames Verhalten entdeckt, das ich nicht erklären kann.AngularJS Http Requests synchron verarbeitet?
Was ich tun
Ich habe eine dynamische Parameteränderung über $state.go('.', {path: 'newPath'})
und zwei Geschwister Komponenten reagieren auf diese Veränderung in ihrem $doCheck
Verfahren wie:
$doCheck() {
if(this.path !== this.$stateParams.path) {
this.path = this.$stateParams.path;
this.handleNewPath(this.path);
}
}
Beide Komponenten tun Http-Anfragen. Und hier kommt mein Problem.
erwartetes Verhalten
Die von den Komponenten initiiert Anfragen nicht gegenseitig beeinflussen. Beide behandeln ihre Antworten völlig isoliert. Manchmal erhält die Komponente A zuerst ihre Antwort, dann die erste, manchmal die Komponente B.
Actual Verhalten
Komponente A initiiert eine Anfrage, die etwa 550ms (450 Content Download) erfolgt. Solange der Inhalt nicht vollständig heruntergeladen ist, wird keine andere Anfrage ausgeführt.
Meine Frage
Warum wie dies funktioniert AngularJS in diesem Fall verhalten ?? So etwas habe ich noch nicht bestimmt. Normalerweise können viele Anfragen parallel gestartet werden.
Normales Verhalten
aktualisieren
Komponente B enthält eine Highchart. Wenn ich das Diagramm deaktiviere, also die Anfragen initiiert werden, aber die Antwort nicht behandelt wird, ist die Blockierung der Anfrage scheinbar weg.
Das sieht wie ein AngularJS-Problem aus und ist nicht direkt mit Highcharts verbunden. Hast du Probleme mit Highcharts? –