Есть задача, по клику на кнопке начать в цикле выполнение тяжелых вычислений (скажем поиск простых чисел) с постепенным выводом результата в блок 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?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости