• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

266
Vistas
¿Cómo esperar la promesa en un forEach en JavaScript?

Me gustaría recuperar una matriz de mi colección mongodb y, antes de devolverla al cliente, trabajar con ella. Mi resultado deseado sería el siguiente:

  • Obtener matriz de collection_A
  • Haga el trabajo deseado con la matriz que acabo de obtener, al tener otra consulta mongodb
  • Pasar la matriz de vuelta al cliente

Mi código actual se ve así:

 db.collection("collection") .find() .toArray() .then((arr) => { arr.forEach(cur => { db.collection("another-collection") .count({key: cur.prop}) .then((retrieved) => { cur.prop = retrieved; //The amount of count one live above //This part runs later than the res.success below }) .catch((err: any) => { //Handle error }); }); return arr; }) .then(arr => { res.success(arr); }) .catch((err) => { //Handle error });

Por el momento, el trabajo que quiero hacer con la matriz recuperada ocurre después de res.success() , por lo que en el cliente obtendré la matriz original. ¿Por qué es así?

over 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar Promise.all junto con Array#map .

 .then((arr) => Promise.all(arr.map(cur => db.collection("another-collection") .count({ key: cur.prop }) .then((retrieved) => { cur.prop = retrieved; return curr; }) .catch((err: any) => { //Handle error }) )) )
over 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda