Есть задача, по клику на кнопке начать в цикле выполнение тяжелых вычислений (скажем поиск простых чисел) с постепенным выводом результата в блок div. Попытался сделать это в лоб в цикле:
function onClick() {
var div = document.getElementById("container");
for (let i = 0; i <= 1000; i++) {
/*
тут какие нибудь тяжелые вычисления
*/
var new_element = document.createElement("div");
new_element.className = "element";
new_element.innerHTML = `${i}`;
div.appendChild(new_element);
}
}
Но, при такой реализации, результаты выводятся на экран пачкой, только после окончания цикла, а до этого момента страница подвисает.
Подскажите, как правильно организовать подобную задачу силами js?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники