¿Cuál es el orden de ejecución del siguiente código JavaScript?
Dificultad: Avanzado
async function asyncFunc() {
console.log('asyncFunc() starts');
return 'abc';
}
asyncFunc().
then(x => {
console.log(`Resolved: ${x}`);
});
console.log('Task ends');
A. asyncFunc() starts, Resolved: abc, Task ends
B. Task ends, asyncFunc() starts, Resolved: abc
C. asyncFunc() starts, Task ends, Resolved: abc
D. Ninguna de las anteriores
Respuesta en el primer comentario.
Oldest comments (1)
Respuesta:
C.
asyncFunc() starts,Task ends,Resolved: abcasyncFuncy muestra por consolaasyncFunc() starts.asyncFunces una función asíncrona, por definición regresará una promesa, por ello dicha promesa pasará a almacenarse temporalmente en el Micro Task Queue de JavaScript.Task ends.Resolved: abcy el programa termina.Recuerda que el Micro Task Queue en JavaScript es exclusivo para manipular promesas a diferencia por ejemplo del Task Queue que administra Web API's.