Angular: ngIf="returnsPromise() | async" passe à la boucle infinie

Créé le 26 janv. 2016  ·  3Commentaires  ·  Source: angular/angular

J'expérimentais avec AsyncPipe que cela s'est produit. Si une méthode renvoie une promesse et que vous la dirigez vers AsyncPipe, elle passera en boucle infinie et plantera le navigateur.

screen shot 2016-01-25 at 8 45 42 pm

_Désolé pour la capture d'écran, l'onglet était gelé et je n'ai pas pu copier le code_

Commentaire le plus utile

c'est un comportement attendu, car chaque fois que la méthode est appelée, vous renvoyez une nouvelle instance de la promesse, qui, une fois résolue, déclenche la détection de changement, qui récupère une nouvelle promesse, qui déclenche la détection de changement....

Vous devriez a) généralement éviter d'appeler des méthodes depuis la vue et b) attribuer une promesse à une propriété

Tous les 3 commentaires

c'est un comportement attendu, car chaque fois que la méthode est appelée, vous renvoyez une nouvelle instance de la promesse, qui, une fois résolue, déclenche la détection de changement, qui récupère une nouvelle promesse, qui déclenche la détection de changement....

Vous devriez a) généralement éviter d'appeler des méthodes depuis la vue et b) attribuer une promesse à une propriété

@robwormald L'exemple donné dans la documentation décrit la canalisation d'une promesse vers AsyncPipe.

Ces documents doivent-ils être mis à jour ?

Documents sources

angulaire.io

Ce problème a été automatiquement verrouillé en raison de son inactivité.
Veuillez signaler un nouveau problème si vous rencontrez un problème similaire ou connexe.

En savoir plus sur notre politique de verrouillage automatique des conversations .

_Cette action a été effectuée automatiquement par un bot._

Cette page vous a été utile?
0 / 5 - 0 notes