
¿Qué significa asíncrono?
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Viene de la palabra sincrónica, que es un concepto de la comunicación. Se refiere a un tipo de comunicación que se da en tiempo real como por ejemplo el chat entre dos personas que están conectadas y hablando al mismo tiempo. Los carros tienen una comunicación sincrónica con el usuario.
Python funciona de esta forma. Python espera recibir la información proporcionada de un API por ejemplo para seguir ejecutando las instrucciones, sino no se ejecuta.
Asincrónica vendría siendo lo contrario, una comunicación que no esta sucediendo en tiempo real como los correos entre personas. Javascript funciona de esta forma. Javascript puede seguir ejecutando sus funciones en la espera de recibir esa información proporcionada por la API por ejemplo.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
¿Qué es un callback?
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
En Javascript se refiere a una función que será ejecutada, no sabemos cuando, solo que será ejecutada si se cumplen ciertas condiciones.
Puede haber callbacks dentro de otros callbacks y hacer largo el código, quizás haga nuestro proyecto difícil de manejar o de mantener, se le llama el «callback hell». Para evitar este problema se inventó algo llamado «promesas».
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
¿Qué significa concurrencia?
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Es un concepto de la informática, se refiere al hecho de que una tarea solo puede ser ejecutada en un determinado momento. Dos tareas al mismo tiempo no pueden ser ejecutadas, primero una luego la otra, es lo contrario a paralelismo que se refiere al hecho de ejecutarse dos tareas a la misma vez.
Javascript es un lenguaje concurrente, dos tareas al mismo tiempo no pueden ser ejecutadas.