Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

163
Vistas
Realice una segunda llamada a la API cuando no haya ningún error en la primera usando Axios en React

Tengo tres llamadas a la API que deberían depender una de la otra. La segunda llamada a la API debería activarse solo cuando la primera tenga éxito.

Con mi implementación actual, recibo un error de CORS cuando se realiza la primera llamada a la API y pude detectar el error en el bloque catch . Sin embargo, veo que la segunda y la tercera llamada a la API se realizan independientemente del error que se detectó en la primera llamada a la API.

¿Alguien podría aconsejarme?

 const firstApiCall = async() => { try { await axios.post( process.env.FIRST_API, payload ); ] } catch (err) { console.log(`err`, err); } }; const secondApiCall = async() => { try { await axios.post( process.env.SECOND_API, payload } } catch (err) { console.log(`err`, err); } }; const thirdApiCall = async() => { try { await axiosInstance.patch( process.env.THIRD_API, payload ); } catch (err) { console.log('err', err); } }; firstApiCall(); secondApiCall(); thirdApiCall();
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Está llamando a las funciones de forma síncrona cuando necesita hacerlo de forma asíncrona:

 async function performTasks() { await firstApiCall(); await secondApiCall(); await thirdApiCall(); } performTasks();
about 4 years ago · Juan Pablo Isaza Denunciar

0

Las funciones async await solo funcionan en su ámbito local. Por ejemplo:

 const myFunc = async() => { try{ //... await foo(); //All the code below will be blocked till //the promise return by foo function is resolved } catch{ //... } } const main = () => { myFunc(); otherFunc(); //Other function calls //Regardless of using async await in myFunc, //the code bellow myFunc will be executed as //async await will work only in myFunc block scope } main()

Lo que puede hacer es usar async await dentro de la función principal, para que las funciones se llamen en un orden

 const main = async () => { await myFunc(); await otherFunc(); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar el enfoque de implementación de ES6 Promise. Por lo tanto, debería echar un vistazo a este recurso: [Promesa][1]

Con el enfoque de promesa, puede reaccionar en cada paso / cada llamada a la API. [1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda