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

234
Vistas
¿Cómo iterar múltiples solicitudes http y resolver una promesa hasta el final del ciclo?

Tengo un ciclo de solicitud que envía una imagen o varias imágenes en una promesa y resuelve devolver el valor booleano "verdadero" ¿el problema? la promesa se resuelve antes de que finalice el ciclo y la solicitud es como "fondo" mi pregunta es "¿Cómo esperar el final del ciclo para resolver la promesa"? intento usar async await en la promesa pero no funciona

 export const sendQuestionArray = (questionArr) => { return new Promise( async(resolve, reject) => { await questionArr.map((question) => { const formSend = new FormData() formSend.append('idAsignacion', question.question_id) formSend.append('pregunta', question.question) formSend.append('respuesta', question.value ? 'CUMPLE' : 'NO_CUMPLE') formSend.append('imagenes', JSON.stringify(question.photo)) formSend.append('comments', question.comments) globalApi.post('/api-agv/audit/set_answer_audit', formSend) }) resolve(true) }) }

gracias por las preguntas

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede esperar hasta que finalice la solicitud POST en cada iteración (para cada pregunta). Asegúrese de que su globalApi.post devuelva Promise<any> .

 export const sendQuestionArray = async questionArr => { for (const question of questionArr) { const formSend = new FormData() formSend.append('idAsignacion', question.question_id) formSend.append('pregunta', question.question) formSend.append('respuesta', question.value ? 'CUMPLE' : 'NO_CUMPLE') formSend.append('imagenes', JSON.stringify(question.photo)) formSend.append('comments', question.comments) await globalApi.post('/api-agv/audit/set_answer_audit', formSend) // If 'post' method returns Promise } return true // will happen only after all requests }

Por cierto: no necesita usar el constructor Promise y async/await al mismo tiempo, el método async siempre devuelve promesas.

Si necesita esperar hasta que finalicen todas las solicitudes, simplemente llame a sendQuestionArray con la palabra clave await :

 // elsewhere in code const result = await sendQuestionArray(questionArr) console.log(result) // 'true', printed only after request sequence
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