-1
votes

boucle asynchrone foreach retourner un tableau

Je me débats avec une boucle asynchrone, voici ce que j'ai essayé: xxx

Comment puis-je "attendre qu'il soit terminé" de sorte que le tableau ne soit pas vide? Merci beaucoup!


3 commentaires

Utilisez .map ou .Reduce et promettez.Tous à la place. .foreseach n'attendra pas.


Vous voudrez peut-être vérifier ceci: Stackoverflow.com / Questions / 42173350 / ...


Votre code semble être faux. Pourquoi est-ce qu'il utilise brut ["id"] ? Voulez-vous dire ollement.id ?


3 Réponses :


1
votes

Votre premier problème: le tableau de sortie est vide car vous l'utilisez avant que aucune des promesses est exécutée. Vous devez attendre toutes les promesses avant d'utiliser le tableau.

Le deuxième problème: les promesses peuvent exécuter et donc pousser éléments de l'ordre aléatoire (pseudo-). Votre matrice de sortie peut être mélangée.

La solution est (1) attendre Toutes les promesses et (2) Gardez l'ordre d'entre eux (en utilisant array.pototype.map ): xxx

le promettes.All est async fonction qui prend des promesses et renvoie des résultats de leurs résultats.

array.pototype.map exécute la fonction pour chaque élément du tableau.

Plus d'informations:


0 commentaires

1
votes

Vous pouvez utiliser la carte et la promesse.Tous pour votre scénario xxx


0 commentaires

1
votes

Attendez d'abord l'achèvement de l'extraction de l'ASYNC de toutes les options à l'aide de mapper et promess.All , puis planez ces identifiants dans une liste d'éléments, quelque chose comme Ceci: xxx


0 commentaires