Contexte: strong> Travailler avec angular 9. J'essaie d'attendre que le dos soit disponible pour recevoir des demandes. Entre-temps, il n'est pas, il y a une barrière de progression. problème: strong> Lorsque le back-end n'est pas encore disponible, l'abonnement échoue immédiatement et entre la fonction de rappel (Erreur) de la méthode J'ai des recherches Un peu, et les exemples que j'ai trouvés modifient la classe de service où Mon 1ère idée était d'utiliser tandis que () boucle () et un drapeau, chaque fois que chaque fois (erreur) a été exécuté, le drapeau serait faux puis réessayera l'abonnement. Mais cela conduirait à une fuite de mémoire. P> .subscribe () code>, avec un message comme
Réponse de défaillance HTTP pour http: // localhost: 5555 / API / info: 504 timeout de passerelle code> p>
httpclient.get code> est présent, pour réessayer x fois la demande, mais je ne peux pas faire cela car le service TS est généré automatiquement. P>
3 Réponses :
S'il vous plaît essayez de cette façon. Utilisez RXJS Réessayer () à partir de RXJS / Opérateurs. P>
https://angular.io/guide/rx-library#reterie -Failed-observable p>
Vous pouvez toujours utiliser Utilisation de à l'aide de réessayer code> ou
retyWhen code> des opérateurs observables tant que votre fonction de service renvoie
observable code>.
code>: p>
retrywhen code>: p>
J'ai mis à jour ma question, The ReatRorror () après que Retrywhen ne fonctionne pas, avez-vous une idée pourquoi?
C'est la solution la plus proche de ce que je veux: