Como entiendo sobre el bucle de eventos, el bucle de eventos empujará las devoluciones de llamada a la pila de llamadas, pero por ejemplo, el siguiente código, el código de sincronización console.log(2) se ejecuta después del controlador de eventos de clic, ¿por qué?
console.log(1) document.body.addEventListener('click', () => { console.log(3) }) document.body.click() console.log(2)Haciendo :
console.log(1) document.body.addEventListener('click', () => { console.log(3) }) document.body.click() console.log(2)El resultado es :
1 3 2Pero al hacer:
console.log(1) document.body.addEventListener('click', () => { setTimeout( () => { console.log(3) },200); }) document.body.click() console.log(2)El resultado es :
1 2 3Entonces, mis conclusiones son que el evento de clic está bien colocado en la pila, pero se desapila instantáneamente.