Axios: ¿Ejemplo de cómo encadenar múltiples solicitudes?

Creado en 15 feb. 2017  ·  12Comentarios  ·  Fuente: axios/axios

¿Alguien puede señalarme un ejemplo o compartir un fragmento de código de cómo encadenar varias solicitudes, cuando el resultado de la primera solicitud debe usarse para realizar la segunda solicitud, etc.?

Comentario más útil

Puedes encadenar los resultados ya que son promesas regulares:

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

Todos 12 comentarios

Puedes encadenar los resultados ya que son promesas regulares:

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

En este ejemplo, response vuelve como indefinido incluso cuando la solicitud es exitosa.

No, debe definirse. Tenga cuidado con la instrucción return . Probablemente te lo hayas perdido.

ayyyyy

¿Y cómo detectaría los errores individuales en este caso?

Tengo un ciclo (para) para enviar una publicación de axios, y descubrí que cada solicitud no se envió después de cada ciclo, se enviaron juntos después de que se repitieron.
este es mi codigo

`
para (sea i = 0;i < diferir;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.fecha = tem.inicio
// if (V.hasSameValue(title, tem.start, tem.end))continuar
V.addEventsToCalendar(elemento)
}
addEventsToCalendar: (evento) => {
axios.post(solicitudUrl('calendario'), {...evento})
.entonces(res => {
V.eventsRender(V.dataToEvent([res.data]))
Sugerencia para el éxito ()
})
.catch(consejo de error)
},

`

@Liaohuanle
Porque es asíncrono, no espera el final de cada operación. En lugar de bucle, puede usar recursividad simple.

¿Por qué no pruebas esto?

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

@alejogamboa Otro infierno de devolución de llamada, ¿qué te parece?

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');
         });
    });
});

¿Cómo lo encadeno según la matriz?

@jericopulvera echa un vistazo a usar
axios.all([])

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

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

Ya tengo la solución aquí #1413

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

samayo picture samayo  ·  3Comentarios

ghost picture ghost  ·  3Comentarios

reggi picture reggi  ·  3Comentarios

achingbrain picture achingbrain  ·  3Comentarios

varmeh picture varmeh  ·  3Comentarios