web-dev-qa-db-fra.com

Axios.get (). Ensuite () dans A pour boucle

Comment ira-t-je continuer à courir Axios dans A pour une boucle, chacune avec une fonction correspondante .then(). Ensuite, après la fin de la boucle, courez une autre fonction.

Exemple:

const array = ['asdf', 'foo', 'bar'];
let users = [];
for (i = 0; i < array.length; i++) {
  axios.get('/user/' + array[i].id).then(response => {
    // do something with response
    users.Push(response);
  });
}

console.log(users);
9
user1661677

Vous devriez collecter toutes les promesses à l'intérieur d'une matrice et utilisez la promesse.Tous de la manière suivante -

const array = ['asdf', 'foo', 'bar'];
let promises = [];
for (i = 0; i < array.length; i++) {
  promises.Push(axios.get('/user/' + array[i].id))
}

Promise.all(promises)
  .then(responses => console.log(responses));
1
Purvil Bambharolia

Si vous utilisez une version plus récente de JavaScript avec async/await Support, vous pouvez procéder comme suit:

const array = ['asdf', 'foo', 'bar'];
let users = [];
for (const id in array) {
  const response = await axios('/user/' + id);
  users.Push(response);
}

console.log(users);
0
jakemingolla