0
votes

Comment réessayer un abonnement quand il échoue dans l'angulaire 9?

Contexte: 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: 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 .subscribe () , avec un message comme Réponse de défaillance HTTP pour http: // localhost: 5555 / API / info: 504 timeout de passerelle

J'ai des recherches Un peu, et les exemples que j'ai trouvés modifient la classe de service où httpclient.get 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.

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. xxx


0 commentaires

3 Réponses :


1
votes

S'il vous plaît essayez de cette façon. Utilisez RXJS Réessayer () à partir de RXJS / Opérateurs.

https://angular.io/guide/rx-library#reterie -Failed-observable


0 commentaires

2
votes

Vous pouvez toujours utiliser réessayer ou retyWhen des opérateurs observables tant que votre fonction de service renvoie observable .

Utilisation de : xxx

à l'aide de retrywhen : xxx


1 commentaires

J'ai mis à jour ma question, The ReatRorror () après que Retrywhen ne fonctionne pas, avez-vous une idée pourquoi?



0
votes

C'est la solution la plus proche de ce que je veux: xxx


0 commentaires