0
votes

Les actions après la promesse sont résolues dans la réaction

J'ai un appel API dans mon application réactive,

apicall(input).then(responseData => {
    //responseData is an array
    //some action->    responseData.map(
})


1 commentaires

Pour charger de manière synchrone, c'est la bonne approche. Le rappel élimine l'attente et continue avec l'exécution des prochaines déclarations.


3 Réponses :


1
votes

Lorsque vous traitez avec prometteur , vous devez soit utiliser l'utilisateur .Chen syntaxe ou le async / attendre way.

vous pouvez faire quelque chose comme ça xxx


1 commentaires

ASYNC Le mot-clé doit être avant fonction .



0
votes

Votre approche est correcte, il suffit de renvoyer des données du bon endroit et il suffit d'utiliser async / attendre code>,

const returnData = apicall(input);
//do your operations on returnData here


6 commentaires

Ici aussi, si je dois faire des opérations sur des responsables, cela doit être fait à l'intérieur, ce que je préférerais, c'est: const retourdata; Apicall (entrée) .Chen (Responsedata => {console.log (Responsedata); Retourdita = Responsedata}). Après cet appel, faire de l'opération avec retourdata


@Parameswar Pas besoin de faire comme vous préférez, j'ai mis à jour la réponse jeter un coup d'œil.


Cette fonction peut-elle renvoyer des données au lieu d'une promesse? Fonction Apicall (entrée) {Retour Fetch (URL) .En (réponse => réponse.json ())}


Dès maintenant, il retourne une promesse, s'il renvoie des données, je n'ai pas besoin d'utiliser alors


Avez-vous essayé ma réponse? Je pense que cela ne renvoie que des données et une promesse.


Yup, j'ai essayé, mais le tableau de données est vide. La raison pour laquelle je pense est que la promesse est résolue après avoir attribué à retourdata. parce que j'ai essayé d'imprimer retourdata, il est imprimé d'abord (vide), puis la console.log que vous mettez est imprimée - qui est des données appropriées



0
votes

Si vous souhaitez charger vos données de manière synchrone, c'est la meilleure approche. Sinon, si vous allez avec ASYNC / WAIT approche, votre fil principal sera bloqué jusqu'à ce que vous ayez une réponse. Cette approche ( async / attente ) est bonne si vous souhaitez créer des pages rendues de serveur. Pour async / attendre approche suivez la réponse de @prithwee das.


0 commentaires