Объясни, как модель однопоточного выполнения JavaScript управляет асинхронными операциями, включая роли event loop, callback queue и microtask queue в обработке браузерных API вроде `setTimeout`, `fetch` и DOM events. — ДейлиПреп