Top.Mail.Ru
Ответы

Как справляться с бесконечными циклами? Js

У меня невероятный случай.
По всем законам программирования цикл должен при запуске страницы срабатывать без проблем, но у меня каждый второй раз страницы не грузит из-за инфинити цикла
Есть ли какой-либо приём, что бы страницы останавливала проблемный цикл в случае определенного времени его выполнения? Желательно снова запустить его после остановки.

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

Если у тебя получается бесконечный цикл, значит в логике твоего кода ошибка, которую надо исправить. Сам по себе цикл бесконечным не становится. Так что надо не искать способ остановить цикл, а разбираться, где ты напахал.

Аватар пользователя
Мудрец
5лет

Пиши циклы правильно и никаких зависаний не будет

Аватар пользователя
Гений
5лет

Если цикл while, использую дополнительный счетчик, до которого в любом случае нормальный цикл не мог бы дойти

let i = 0;

while( true ) {
if( i++ > 10000 ){
throw new Error("Бесконечный цикл!");
break;
}

//...
}
_______________

let i = 0;

while( true && i < 10000 ) {
i++

//...
}
________

Но вообще не нравится while как-раз из-за того, что любит зацикливаться) Стараюсь везде использовать for.

Аватар пользователя
Просветленный
5лет

Основная причина в том что ожидания не всегда сходятся с реальностью.

попробуй выполнить к консоле две строки и понять чем отличаются эти строки
1. --> 0.01 + 0.02 == 0.03
2. --> 0.1 + 0.2 == 0.3
Если где ошибка и почему так происходит

Аватар пользователя
Оракул
5лет

Просто прописывай всегда условие, при котором он будет прерываться.