J'ai découvert un comportement étrange dans mon application AngularJS (1.6.3), que je ne peux pas expliquer.AngularJS Http Requêtes traitées de manière synchrone?
Ce que je fais
Je fais un changement de paramètre dynamique via $state.go('.', {path: 'newPath'})
et deux composants frères et soeurs réagissent à ce changement dans leur méthode $doCheck
comme:
$doCheck() {
if(this.path !== this.$stateParams.path) {
this.path = this.$stateParams.path;
this.handleNewPath(this.path);
}
}
Les deux composants ne demande Http. Et voici mon problème.
Comportement attendu
Les demandes initiées par les composants ne touchent pas. Les deux gèrent leurs réponses totalement isolées. Ainsi, parfois le composant A reçoit sa réponse en premier, qu'il gère en premier, parfois le composant B est plus rapide.
Comportement réel
Composant A initie une demande, ce qui prend environ 550ms (450 télécharger du contenu). Tant que le contenu n'est pas entièrement téléchargé, aucune autre demande n'est exécutée.
Ma question
Pourquoi AngularJS se comportent comme cela dans ce cas ?? Je n'ai pas déterminé quelque chose comme ça avant. Normalement, de nombreuses demandes peuvent être initiées en parallèle.
Comportement normal
Mise à jour
composant B comprend un Highchart. Lorsque je désactive ce graphique, de sorte que les demandes sont lancées, mais que la réponse n'est pas gérée, le blocage de la requête est parti.
Cela ressemble à un problème AngularJS et n'est pas directement connecté à Highcharts. Avez-vous des problèmes avec Highcharts? –