0
votes

Comment mettre en pause une itération en utilisant $ q service?

J'essaie d'utiliser $ Q Service pour effectuer une pause dans l'itération, car j'ai une condition de faire des appels d'API en boucle.

J'ai utilisé à la suite de l'approche: xxx < / Pré>

Je m'attends à ce que le résultat soit

récupération de détails pour 101
Data extrait pour 101
Extrait de détails pour 102
Données extraites pour 102
Récupération de détails pour 103
Données extraites pour 103

mais le résultat réel supérieur à code donne est

récupération des détails pour 101
Extrait de Détails pour 102
Fetchinging Détails pour 103
Data extrait pour 101
Data extrait pour 102
Data extrait pour 103


0 commentaires

3 Réponses :


1
votes

Pouvez-vous essayer d'utiliser Await / Async pour attendre la promesse de revenir avant de savoir à travers la boucle? comme ci-dessous xxx


6 commentaires

Y a-t-il quelque chose à importer ou à ajouter? Parce que cela me donne une erreur "Attending Newline ou Semicolon" près des mots-clés "ASYNC" et "Await"


@Diksha a mis à jour la réponse. Peux-tu essayer.


Et que si les "IDS" ne sont pas un numéro et un objet?


ça dépend. Si c'est un tableau d'objets, vous pouvez utiliser la même méthode.


Donc lorsque nous utilisons getdata (ID) .Chen (); Avons-nous besoin d'utiliser un service différé?


Oui le '$ q.defer () "fait une promesse d'utiliser" alors ()'



0
votes

HTTPS: / /blog.hellojs.org/use-Reduce-and-promises-a-execute-Multiple-aSync-Calls-En -4CAF03A34B9A

Utilisez .Reduce pour résoudre les promesses de manière séquentielle.


1 commentaires

Oui, j'ai essayé d'utiliser Réduire, mais ce n'est pas seulement à propos de la résolution séquentielle, je dois faire un autre traitement comme identifiant juste avant que l'appel soit effectué. Y a-t-il quelque chose à y parvenir?



0
votes

Il peut être simulé à l'aide de la récursion et de l'indice global. Async, attendre une solution reste meilleur: xxx


0 commentaires