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

368
Vistas
¿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 Respuestas
Responde la pregunta

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 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