Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подвисает браузер на "тяжелой" задаче. (https://javascript.ru/forum/misc/83324-podvisaet-brauzer-na-tyazhelojj-zadache.html)

ksa 18.11.2021 13:42

Цитата:

Сообщение от voraa
Это не повод ездить на старых клячах.

Запомни эти слова.
Их тебе, по прошествии времени, скажут молодые программисты. :D

voraa 18.11.2021 13:54

Цитата:

Сообщение от ksa
Их тебе, по прошествии времени, скажут молодые программисты.

Они и сейчас мне имеют права это сказать.
Я не знаю ни Vue, ни React.
И ваще, даже по новым законам, мне в следующем году на пенсию.

ksa 18.11.2021 14:04

Цитата:

Сообщение от voraa
мне в следующем году на пенсию

Тогда ты дюже резвый для пенса... :D

JobLack 18.11.2021 20:26

Цитата:

Сообщение от voraa (Сообщение 541528)
Если без всяких изысков, по простому, то как то так
// количество итераций, которое надо сделать
const N = 100500 ;
// гарантировано без тормозов можно сделать итераций
const NS = 100;  

let start = 0;

function workns () {
	const ne = Math.min(N, start+NS)
	let i;
	for (i = start; i< ne; i++) {
		/* тут делаем итерацию */
	}
	start = i;
}

function idleWork (time) {
	while (time.timeRemaining() > 0 && start < N) {
		workns()
	}
	if (start < N) requestIdleCallback(idleWork);
}

requestIdleCallback(idleWork);


Немного похоже на requestAnimationFrame, но есть возможность проверить( .timeRemaining() ) - сколько времени еще примерно есть


Ребят, спасибо. По моему в моей ситуации эту штуку проще всего реализовать...Классная вещь.. Спасибо.


Часовой пояс GMT +3, время: 11:20.