-1
votes

Comment appeler une fonction une fois que l'appel de l'API termine la récupération des données en angulaire

J'appelle un service dans Ngoninit () Code> et attribuant les données à une variable une fois qu'elle renvoie des données.

p>

<div *ngFor="let item of [0, 1, 2, 3, 4];let i = index"> {{ myfunction(i) }} </div>


4 commentaires

Cela reviendra toujours indéfini car votre mycoscincifunction () n'a pas de paramètre, je pense qu'il devrait être mycoscincifonction (i) {retour SampleData [i] / this.fxrate;}


@PrashantPimpale j'ai manqué de l'ajouter. Ce n'est pas le problème.


@Nareshshetty, utilisez observable au lieu de une variable simple;


@Nareshshetty essayez le code posté!


4 Réponses :


0
votes

valeur initiale de this.fxreate code> est non défini code> strong> donc, vous obtenez non défini code> dans le dans le Console code>.

Vous pouvez appeler votre fonction une fois que vous avez obtenu les données dans l'abonnement abonnement fortre> p> xxx pré>

changer votre fonction comme ci-dessous p> xxx pré>

Vous pouvez la définir avec l'utilisation de * ngif code> strud> p>

Il exécutera votre Fonction Une fois que les données sont disponibles dans votre Ceci.FXRate CODE> FORT> VARIABLE P>

<div *ngIf="fxrate">
   <div *ngFor="let item of [0, 1, 2, 3, 4];let i = index"> {{ myfunction(i) }} 
 </div>
</div>


2 commentaires

Voir l'appel de service. Si la devise est dans '' USD ', alors aussi, cela sera indéfini.


J'imprime les données renvoyées à partir de la mycée () dans HTML en fonction de la valeur de l'index. J'ai mis à jour la question. J'espère que ça a du sens maintenant



0
votes

mais console.log est la journalisation non définie pour les premiers journaux jusqu'à la déclaration de service. Je veux appeler mycéen () une fois que cela est défini. Comment puis-je faire ça?

Vous pouvez le faire en cochant this.fxrate est défini et appelez la fonction à l'intérieur de l'abonnement: xxx

Si vous utilisez des données extraites uniquement dans le modèle HTML, vous pouvez utiliser ASYNC Tuyau pour cela. Il souscrit à un observable ou à une promesse et renvoie la dernière valeur qu'elle a émise: xxx


4 commentaires

Je retourne la valeur de cette fonction. Que je dois afficher en HTML. J'ai mis à jour la question. J'espère que ça a du sens maintenant


@NareshShetty Vous pouvez utiliser un tuyau asynchrone pour cela. Il abonna et se désabonne à votre observable


Pouvez-vous partager documentation


@Nareshshetty Voici une bonne Explication , DOCS angulaires - Tuyau ASYNC




0
votes

appeler une fonction dans le modèle n'est pas une bonne approche. Vous pouvez également faire cette manière suivante xxx

et dans le modèle xxx


0 commentaires