Axios: Exemple de comment enchaîner plusieurs requêtes ?

Créé le 15 févr. 2017  ·  12Commentaires  ·  Source: axios/axios

Quelqu'un peut-il m'indiquer un exemple ou partager un extrait de code expliquant comment enchaîner plusieurs demandes, lorsque le résultat de la première demande doit être utilisé pour effectuer la deuxième demande, etc. ?

Commentaire le plus utile

Vous pouvez enchaîner les résultats car ce sont des promesses régulières :

axios.get(...)
  .then((response) => {
    return axios.get(...); // using response.data
  })
  .then((response) => {
    console.log('Response', response);
  });

Tous les 12 commentaires

Vous pouvez enchaîner les résultats car ce sont des promesses régulières :

axios.get(...)
  .then((response) => {
    return axios.get(...); // using response.data
  })
  .then((response) => {
    console.log('Response', response);
  });

Dans cet exemple, response revient comme indéfini même lorsque la requête aboutit ?

Non, il faut le définir. Faites attention à l'instruction return . Vous l'avez probablement raté.

ouais

Et comment détecteriez-vous les erreurs individuelles dans ce cas ?

J'ai une boucle (pour) envoyer un message axios, et j'ai constaté que chaque demande n'a pas été envoyée après chaque boucle, elles ont été envoyées ensemble après la boucle
c'est mon code

`
pour (soit i = 0;i < différer;i++) {
tem.start = moment(start).add(i, 'days').format('YYYY-MM-DD')
tem.end = moment(tem.start).endOf('day').format('YYYY-MM-DD 23:59:59')
tem.date = tem.start
// si (V.hasSameValue(title, tem.start, tem.end))continue
V.addEventsToCalendar(tem)
}
addEventsToCalendar : (événement) => {
axios.post(requestUrl('calendrier'), {...événement})
.then(res => {
V.eventsRender(V.dataToEvent([res.data]))
successTip()
})
.catch(errorTip)
},

`

@Liaohuanle
Car est asynchrone, il n'attend pas la fin de chaque opération. Au lieu d'une boucle, vous pouvez utiliser une récursivité simple.

Pourquoi ne pas simplement essayer ceci ?

axios.get(...)
  .then((response) => {
    axios.get(...)
   .then((response) => {
      console.log('response);
    })
})

@alejogamboa Encore un autre enfer de callback, qu'en pensez-vous ?

var array = [0,1,2];
axios.get('api/' + array[0]).then(response => {
    axios.get('api/' + array[1]).then(response => {
         axios.get('api/' + array[2]).then(response => {
            alert('done');
         });
    });
});

comment puis-je le chaîner en fonction du tableau?

@jericopulvera jeter un oeil à l'utilisation
axios.all([])

for (...) {
  arr.push(axios.get("url"));
}

let result = await axios.all(arr);
console.log(res);

J'ai déjà la solution ici #1413

Cette page vous a été utile?
0 / 5 - 0 notes