Может кто-нибудь объяснить, как работает счетчик setInterval? - PullRequest
0 голосов
/ 31 января 2019

Я создал переменную для setInterval, чтобы я мог остановить ее с помощью clearInterval следующим образом:

var repeat = setInterval(sayHello, 2000); 
function sayHello() { 
    alert("Hello"); 
}

, а вот clearInterval:

clearInterval(repeat)

Теперь в Firefox один разЯ запустил этот бит, если я хочу узнать значение «repeat», он возвращает количество времени, в течение которого выполнялся интервал.Тем не менее, в Chrome, независимо от того, сколько раз он выполнялся, он всегда возвращает 1. Если я не завершу всю процедуру, он затем возвращает 2. Он в основном увеличивает экземпляры в отличие от интервальных вхождений.

Любой, кто может пролить свет на это, как это работает и почему ... высоко ценится!

1 Ответ

0 голосов
/ 31 января 2019

Все, что гарантировано, это то, что setInterval вернет дескриптор, который затем может быть использован clearInterval.Кроме этого, это полностью зависит от браузера, что это за ручка и как она используется.Даже если кажется, что он предоставляет некоторую информацию в одном конкретном браузере, на нее не следует полагаться ни в коем случае, поскольку она может быть изменена.

Цитировать MDN :

Возвращенный интервалID представляет собой числовое ненулевое значение, которое идентифицирует таймер, созданный вызовом setInterval ();это значение может быть передано в WindowOrWorkerGlobalScope.clearInterval () для отмены тайм-аута.

Не ожидайте, или полагайтесь на него, как на что-то еще.

...