Oigo hablar constantemente del "Event Loop" como algo mágico que hace que JavaScript, a pesar de ser de un solo hilo, pueda manejar operaciones asíncronas. He visto diagramas con el "Call Stack", la "Callback Queue" y el "Event Loop" dando vueltas, pero no termino de entenderlo intuitivamente.
¿Alguien tiene una analogía o una explicación simple de cómo funciona realmente?