Проверяет понимание неблокирующего выполнения кода в JavaScript.
JavaScript выполняет код синхронно (по шагам), но может откладывать задачи с помощью:
setTimeout).Promise) и async/await.JavaScript однопоточный, но избегает блокировок с помощью асинхронности. Например:
console.log("Start");
setTimeout(() => console.log("Timeout"), 0);
console.log("End");
// Вывод: Start → End → TimeoutЗдесь setTimeout откладывает выполнение, чтобы не мешать основному потоку.
Синхронный код выполняется сразу.
Асинхронные задачи (запросы, таймеры) попадают в очередь (Callback Queue).
Event Loop проверяет, когда основной код завершился, и затем выполняет задачи из очереди.
Промисы (Promise) и async/await упрощают работу с асинхронностью, делая код понятнее:
async function fetchData() {
const response = await fetch("url"); // Ждем ответа без блокировки
console.log(response);
}