J'ai un appel API dans mon application réactive,
apicall(input).then(responseData => { //responseData is an array //some action-> responseData.map( })
3 Réponses :
Lorsque vous traitez avec vous pouvez faire quelque chose comme ça p> prometteur code>, vous devez soit utiliser l'utilisateur
.Chen code> syntaxe ou le
async / attendre code> way.
ASYNC CODE> Le mot-clé doit être avant
fonction code>.
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
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
Si vous souhaitez charger vos données de manière synchrone, c'est la meilleure approche.
Sinon, si vous allez avec ASYNC / WAIT CODE> approche, votre fil principal sera bloqué jusqu'à ce que vous ayez une réponse. Cette approche (
async / attente code>) est bonne si vous souhaitez créer des pages rendues de serveur.
Pour
async / attendre code> approche suivez la réponse de @prithwee das. P>
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.