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

81
Vistas
Async/Await con setTimeout funciona bien pero no con retraso personalizado

Cuando ejecuto un ejemplo que encontré en Internet que usa setTimeout, funciona bien. Pero cuando reemplazo setTimeout con un bucle for de ejecución prolongada, la salida aparece después de un retraso. ¿Tenemos que usar una función asíncrona hecha en fábrica todo el tiempo?

Codigo original:

 const doSomethingAsync = () => { return new Promise(resolve => { setTimeout(() => resolve('I did something'), 3000)}) } const doSomething = async () => { console.log(await doSomethingAsync()) } console.log('Before') doSomething() console.log('After')

Código con retraso personalizado:

 const doSomethingAsync = () => { return new Promise(resolve => { for(let i=0;i<4000000000;i++){} resolve("I did something!"); }) } const doSomething = async () => { console.log(await doSomethingAsync()) } console.log('Before') doSomething() console.log('After')

Cuando se ejecuta el código personalizado, la salida de After ocurre después del retraso, mientras que en el código original After aparece inmediatamente.

Editar: Por cierto, la pregunta en ¿Por qué la función asíncrona de Javascript no regresa de inmediato? es similar pero el orden no cambia en mi caso, el tiempo sí.

about 4 years ago · Juan Pablo Isaza
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