<aside> 💡 Los lenguajes de programación son sincrónicos…
</aside>
<aside> 💡 JavaScript es síncrono por defecto y tiene un solo subproceso.
</aside>
<aside> 💡 JavaScript es síncrono y no bloqueante, con un bucle de eventos (concurrencia), implementado con un único hilo para sus interfaces de I/O.
</aside>
JavaScript es single-threaded
Aún con múltiples procesadores, solo se puede ejecutar tareas en un solo hilo, llamado el hilo principal.
Bloqueante
Una tarea no devuelve el control hasta que se ha completado.
No bloqueante
Una tarea se devuelve inmediatamente con independencia del resultado. Si se completó, devuelve los datos. Si no, un error.
Síncrono
Las tareas se ejecutan de forma secuencial, se debe esperar a que se complete para continuar con la siguiente tarea.
Asíncrono
Las tareas pueden ser realizadas más tarde, lo que hace posible que una respuesta sea procesada en diferido.