¿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.
Top comments (1)
Respuesta:
C.
asyncFunc() starts
,Task ends
,Resolved: abc
asyncFunc
y muestra por consolaasyncFunc() starts
.asyncFunc
es 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: abc
y 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.