Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

110
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!