Soy nuevo en Javascript y trato de entender la programación asincrónica. Así que escribí el siguiente código en el espacio de trabajo de herramientas de desarrollador de Chrome:
console.log("hi1"); setTimeout(console.log("hi-async"),1000); console.log("hi3");El resultado que esperaba era -
hi1 hi3 hi-asyncEn cambio, la consola imprimió lo siguiente, sin el retraso de 1 segundo (todo a la vez):
hi1 hi-async hi3Básicamente, ¡la función setTimeout se ejecutó sincrónicamente! ¿Alguien puede decirme por qué es así? Pensé que setTimeout es una función asíncrona y siempre se ejecutará de forma asíncrona. ¿Me equivoco? ¡Gracias!