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

121
Vistas
¿No se colocan las funciones asíncronas/en espera en el bucle de eventos?

Soy muy nuevo en Javascript asincrónico y estaba estudiando la función async/await. Tengo una especie de pregunta básica sobre el código adjunto. Cuando ejecuto el código, creo que la función asíncrona debería esperar (debido a la palabra clave await) y colocarse en la cola de microtareas, suspendiendo así su ejecución. Por lo tanto, la pila de llamadas debe ejecutar la consola. Así que pensé que la salida debería haber sido primero (el número aleatorio) y luego segundo. Pero para mi sorpresa ese no es el caso. ¿Puede alguien explicar por qué sucedió esto de una manera simplificada?

 function randomFunction() { //generates a random number and prints it const number = Math.floor(Math.random() * 100); console.log(number); } async function asyncWithCallback(callback) { await randomFunction(); callback(); } function callback() { console.log('second'); } asyncWithCallback(callback); console.log('first');

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

await primero evalúa la expresión que le sigue, y solo entonces la función async regresa (con una promesa), suspendiendo la función para más adelante.

Entonces, la salida de randomFunction se produce sincrónicamente , y luego procede como usted describe: "primero" también se genera sincrónicamente.

Luego, la pila de llamadas se vacía y llegamos a la "fase asíncrona": el motor procesa el trabajo en la cola PromiseJob, que reanuda la función async , que llama a la callback de llamada donde se emite "segundo".

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