@szQocks

Как динамически изменить интервал вызова функции?

let counter = 0;
let interval = 1000;
let variable;

const f = () => {
	counter++;
	console.log(counter)
	if(counter == 5) interval = 3000;
	// теперь переменная interval = 3000
	//но функция f всё так же вызывается через секунду
	//можно ли как то с ходу изменить интервал вызова функции f? 
	if(counter == 10) clearInterval(variable);
}

if(counter == 0) variable = setInterval(f, interval);
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@MEDIOFF
Python Developer
Так а с чего он должен у вас поменяться на 3000, у вас интервал уже создан, уже крутится в eventLoop, вы сами почитайте то что вы делаете в коде:
- Создал переменные;
- Создал функцию;
- Создал интервал в 1000;
- Если counter == 5 меняю значение переменной на 3000;

Легко понять что вы ничего кроме как изменили значение переменной не сделали, если хотите изменять интервал динамически, то вы должны удалить полностью старый интервал и создать новый с новым временем
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы