Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

143
Visualizações
¿Por qué el orden de la matriz cuando se inserta en la base de datos usando map, forEach y for loop es diferente?

Tengo una matriz [1,2,3,4,5] y cuando la inserto en la base de datos, excepto que recibo un resultado como [1,2,3,4,5] en la base de datos. Pero solo el bucle para darme un resultado esperado, map() y forEach() siempre me dan una matriz desordenada como [1,3,4,5,2] o [4,3,2,5,1] y así sucesivamente. Este es mi código:

 arrayChild.map(async item => { await this.repository.save(item) }); arrayChild.forEach(async item => { await this.repository.save(item) }); for (let i = 0; i < arrayChild.length; i++) { await this.repository.save(arrayChild[i]) }

Por favor, dame la razón. Gracias por su atención

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

porque los métodos map y forEach no manejan la función asíncrona que pasó de forma async await .

Cuando verifique el polyfill de ambos métodos, encontrará una línea como esta callback.call(T, kValue, k, O); . Entonces, básicamente, solo ejecuta la callback de llamada. Si la callback de llamada es un método asíncrono, no espera a que se realice su ejecución. En cambio, continúa ejecutando otros códigos.

Entonces, cuando guarda su conjunto de datos en la base de datos, sus devoluciones de llamada dentro del map y forEach solo emiten algunas consultas, el orden final de ejecución de la base de datos puede ser incierto.

about 4 years ago · Juan Pablo Isaza Relatório

0

Debido a que await no funciona en los métodos forEach y map, no es asíncrono. Por lo tanto, cuando usa los métodos await en forEach o map para guardar datos en db, ejecutará los bucles simultáneamente y los resultados serán desordenados.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda