JavaScript setInterval Limits? - PullRequest
       6

JavaScript setInterval Limits?

8 голосов
/ 20 октября 2011

У меня есть приложение, использующее JavaScript setInterval() для запуска цифровых часов. Мне было интересно, есть ли у него тайм-аут или предел, сколько раз он может выполнить эту функцию.

Ответы [ 3 ]

20 голосов
/ 20 октября 2011

setInterval() будет работать бесконечно.

Если вы хотите завершить «цикл», вы можете использовать clearInterval. Например:

var counter = 0;

var looper = setInterval(function(){ 
    counter++;
    console.log("Counter is: " + counter);

    if (counter >= 5)
    {
        clearInterval(looper);
    }

}, 1000);
5 голосов
/ 20 октября 2011

Нет, данная функция будет выполняться до тех пор, пока вы не очистите интервал вручную с помощью clearInterval()

Обратите внимание, что в большинстве браузеров ваша функция по-прежнему будет выполняться, когда страница находится на вкладке фона,мобильные браузеры (в частности, IOS5 Safari) могут освобождать страницу до тех пор, пока она снова не станет видимой или сфокусированной.

1 голос
/ 20 октября 2011

Как уже упоминали другие, нет ограничения на количество раз, когда ваш интервал будет работать, однако, если вы собираетесь запускать таймер на неопределенный срок, вы должны рассмотреть информацию здесь:

Minimum setInterval () / setTimeout () задержка на фоновых вкладках

Если ваш пользователь может выйти из режима ожидания, 1 секунда является безопасным минимальным интервалом

...