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

212
Vistas
¿Por quépromise.all bloquea un error pero no envía promesas una por una?

Soy bastante nuevo aquí y tengo un problema en mi backend nodejs.

Tengo una lista de objetos que me ayudarán a encontrar un automóvil en la base de datos, por lo que preparo promesas para obtener datos uno por uno y enviarlos dentro de una promesa. Todo para activar las promesas.

la función getCar funciona cada vez con los datos que envié, pero cuando hago la promesa. todo con la matriz, tendrá un error de grupo de conexión. ¿Cuál es el problema?

 function requestData (listOfCar) { const promiseList = []; for (let i = 0; i < listOfCar.length; i++) { promiseList.push(getCar(listOfCar[i])); } return Promise.all(promiseList); // crash but sending promises one by one is working } function getCar(carFinder) { // do things and return a query find in sequelize to find a car // and so it return a promise }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Las promesas siempre se desencadenan directamente, no esperan a ser desencadenadas dentro de la promesa. Entonces, su problema es que está enviando, supongo, muchas solicitudes dentro de la base de datos y, por lo tanto, el grupo de conexiones ya no las acepta. Para solucionarlo, puede agregar más grupos de conexiones o simplemente puede activar la promesa de un pequeño fragmento de 5 y esperar la promesa.todo

 async function requestData (listOfCar) { const carLists = []; for (let i = 0; i < listOfCar.length; i++) { const tmpListOfPromise = []; for (let j = 0; j < 5 && i < listOfCar; j++) { const tmpListOfPromise.push(getCar(listOfCar[i])); i = i + 1; } await Promise.all(tmpListOfPromise).then((response) => { carLists = carLists.concat(response); // this will push every response in the list }); } } function getCar(carFinder) { // do things and return a query find in sequelize to find a car // and so it return a promise }
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