JavaScript · Senior · Запитання 59 з 75

Чому цей код може заморозити сторінку, хоч використовує проміси?

function loop() { Promise.resolve().then(loop); }
loop();

Пояснення

Браузер рендерить лише між макрозадачами після спорожнення черги мікрозадач. Використовуйте setTimeout, MessageChannel або scheduler.yield(), щоб дати шанс рендеру.

Де почитати

Помилка в запитанні

JavaScript · Senior · запитання 59

Перевірте себе

Пройдіть тест JavaScript · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест