0
votes

Axios à l'intérieur pour la boucle

J'essaie d'Axios Demandes à l'intérieur d'une boucle, mais la boucle est terminée même avant l'axios. Voici mon code:

let findEmail = async() => {
 for (var i = 0; i < csvData.length; i++){
    axios.post('https://email-finder.herokuapp.com/find', {
        "first_name": "Irinaa",
        "last_name": "xyz",
        "domain": "xyxz.com"
    }).then((response) => {
        if(response.status === 500){
            console.log('no email found');
        }
        else{
            console.log(response.data);
        }
    }, (error) => {
        console.log('no email found ', i);
    });
      console.log('axios request done');
 }
} 


1 commentaires

Essayez d'utiliser des promesses pendant que si vous êtes bon avec des observables pouvant vous aider aussi


3 Réponses :


1
votes

Comme vous êtes dans la fonction ASYNC, essayez d'utiliser Await au lieu de. Il fera que votre boucle se comporte de manière synchrone. XXX


2 commentaires

Il y a une différence majeure entre faire de quelque chose de synchrone et de se comporter de manière synchrone.


Superbe capture. C'était ma première réponse, afin que vous puissiez dire noob repéré.



0
votes

Veuillez trouver l'explication sur Comment attendre un appel ASYNC en JavaScript dans une fonction synchrone? ici par tj Crowder.


0 commentaires

0
votes

Si vous attendez de récupérer des données, vous attendez donc à Statut 200. Essayez d'ajouter:

    else if(response.status === 200){
        console.log(response.data);
    }


0 commentaires