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

372
Visualizações
¿Alguna diferencia entre await Promise.all() y multiple await?

¿Hay alguna diferencia entre:

 const [result1, result2] = await Promise.all([task1(), task2()]);

y

 const t1 = task1(); const t2 = task2(); const result1 = await t1; const result2 = await t2;

y

 const [t1, t2] = [task1(), task2()]; const [result1, result2] = [await t1, await t2];
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Generalmente, usar Promise.all() ejecuta solicitudes "asincrónicas" en paralelo. El uso de await puede ejecutarse en paralelo O ser un bloqueo de "sincronización".

Las funciones test1 y test2 a continuación muestran cómo await puede ejecutarse de forma asíncrona o sincronizada.

test3 muestra Promise.all() que es asíncrono.

jsfiddle con resultados cronometrados : abra la consola del navegador para ver los resultados de la prueba

Comportamiento de sincronización . NO se ejecuta en paralelo, tarda ~ 1800 ms :

 const test1 = async () => { const delay1 = await Promise.delay(600); //runs 1st const delay2 = await Promise.delay(600); //waits 600 for delay1 to run const delay3 = await Promise.delay(600); //waits 600 more for delay2 to run };

Comportamiento asíncrono . Se ejecuta en paralelo, tarda ~ 600 ms :

 const test2 = async () => { const delay1 = Promise.delay(600); const delay2 = Promise.delay(600); const delay3 = Promise.delay(600); const data1 = await delay1; const data2 = await delay2; const data3 = await delay3; //runs all delays simultaneously }

Comportamiento asíncrono . Se ejecuta en paralelo, tarda ~ 600 ms :

 const test3 = async () => { await Promise.all([ Promise.delay(600), Promise.delay(600), Promise.delay(600)]); //runs all delays simultaneously };

TLDR; Si está utilizando Promise.all() , también "fallará rápidamente": dejará de ejecutarse en el momento de la primera falla de cualquiera de las funciones incluidas.

over 4 years ago · Santiago Trujillo 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