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

241
Visualizações
Si uso async/await, no se ejecuta en orden

Tengo una pregunta sobre la ejecución async/await.

códigos de ejemplo

 async firstMethod(){ new Promise((resolve, reject)) => { setTimeout(() => { resolve("test1"); }, 3000); }); } async secondMethod() { new Promise((resolve, reject)) => { setTimeout(() => { resolve("test2"); }, 1000); }); } await firstMethod(); await secondMethod();

Entonces, cuando se ejecutan los dos métodos, se obtienen los siguientes resultados.

 test2 test1

Sin embargo, si se adjunta una declaración, el valor del resultado es el siguiente.

 async firstMethod(){ return new Promise((resolve, reject)) => { setTimeout(() => { resolve("test1"); }, 3000); }); } async secondMethod() { return new Promise((resolve, reject)) => { setTimeout(() => { resolve("test2"); }, 1000); }); } await firstMethod(); await secondMethod();
 test1 test2

¿Porqué es eso? Te agradecería si pudieras explicarlo.

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

0

En el primer caso, solo espera las promesas externas (que son las funciones firstMethod y secondMethod ) y las promesas internas creadas por new Promise no se esperan y simplemente se ejecutan hasta completarse en segundo plano.

En el segundo caso, debido al desenvolvimiento de la promesa , espera las promesas internas devueltas junto con las promesas de funciones externas.

about 4 years ago · Juan Pablo Isaza Relatório

0

La razón por la que en el primer ejemplo esas 2 funciones no se ejecutan en orden es porque no estás esperando nada. Si intenta eliminar el async de la definición de la función en el primer ejemplo, obtendrá el mismo resultado porque la función no necesita el async porque no requiere una await . Lo que podría hacer para obtener el mismo resultado que el segundo ejemplo es agregar una await antes de la new Promise .

Nota: Tampoco necesita el async en el segundo ejemplo porque no está esperando nada, solo está devolviendo una Promise en la que espera fuera del alcance.

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