Мой вопрос связан с тем, как JS движки реализуют шаблон асинхронных событий, когда мы делаем что-то вроде привязки обработчиков событий на dom для, скажем, события нажатия???
Есть ли у них что-то вроде отдельного потока, который прослушивает все события нажатия? Когда событие происходит, они обращаются к списку привязки и расшаривают события?
Аналогично с Ajax, асинхронным сетевым вызовом, когда браузер создает новый поток, который начинает слушать данные от сервера, и когда ответ получен, он вызывает обработчик успеха?