Asincronismo en Javascript

November 7, 2020 - 1 min read

Asincronismo

Puede que el asincronismo sea uno de los elementos que harán sobresalir tus aplicaciones de las demás, puesto que entenderás los pilares del funcionamiento de javascript.

Experiencia

Puedo abrumarte con más teoría, solo déjame decirte que en mi caso, al no comprender el asincronismo, cuando realizaba algunos eventos, métodos, funciones, no obtenía los resultados esperados, y era por la falta de de comprensión del asincronismo, una vez que lo entiendes es como ver cuando NEO, empezó a comprender la matrix. Bueno suena a ciencia ficción pero entender el asincronimo para mí fue algo similar.

Codeemos !!!

console.log('Taco 1')
console.log('Taco 2')
console.log('Taco 3')
setTimeout(()=> {
  console.log('Torta')
},1000)
console.log('Taco 4')
console.log('Taco 5')
console.log('Taco 6')

// result:
"Taco 1"
"Taco 2"
"Taco 3"
"Taco 4"
"Taco 5"
"Taco 6"
"Torta"

Primero tenemos que dejar claro que Javascript funciona en un solo hilo, solo puede ejecutar una tarea a la vez, con ésto claro, con esto entendemos que va resolviendo la pila de tareas (call stack) que le vamos pasando, en este caso las tareas son imprimir en consola los tacos, (taco 1, taco 2, ... ), pero después del taco 3 se pide una torta, que si lo vemos en nuestro contexto, sería la nustra tarea asíncrona. Pues vale la torta demora 1 segundo más en hacerse (de acuerdo a nuestro ejemplo).

En este conexto va resolviendo los tacos de manera inmediata uno tras otro, pero la torta la mueve a la cola de tareas, donde una vez quede resuelta, regreserá al call stack y será liberada.