Tengo un req.body de un formulario de publicación con muchos valores como este
console.log(req.body) { productid:[1, 2, 3] qty: [3, 5, 6] }Quiero hacer un bucle for y usar los diferentes valores en una consulta SQL, pero me quedo atascado en la primera consulta probablemente porque es una función de espera asíncrona.
Mi pregunta es ¿cómo puedo hacer muchas consultas sql con un forloop y seguir usando una función de espera asíncrona?
Puedes hacerlo así:
for(let item of array) { let res = await query(item) }Como solo hago una actualización y no espero una respuesta, no necesitaba usar await async. Funcionó cuando eliminé async/await.
Gracias
Perdón por la pregunta no tan clara
si quieres hacerlas en paralelo puedes crear una matriz de promesas y usar Promise.all para esperar a que terminen todas las operaciones, de esta manera puedes optimizar mucho tu código en lugar de hacerlo de forma secuencial.
const operations = [] for(let item of array) { operations.push(query(item)) } const result = await Promise.all(operations) //Do wherever you want with your results.Para ejecutar su código, su función que maneja la solicitud debe declararse con la palabra clave async.