@ff0xff

Как выполнять функцию каждые n секунд на протяжении x секунд?

Есть функция, которая запускает код каждые n секунд:
setInterval(function()
{
//некоторые действия функции
},20000);

Как бы все ок, но мне надо чтобы она остановилась через x секунд... как это сделать?
  • Вопрос задан
  • 1919 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
let timer = setInterval(callback, 20000);
setTimeout(clearInterval, 15 * 60 * 1000, timer); // setInterval остановится через 15 минут
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@BATPYIIIKOB
PHP, JS
Поставь переменную счётчик, которая будет фиксировать общее пройденное время :). После отключи счётчик :)
https://learn.javascript.ru/settimeout-setinterval

Вот пример расчёта задержки:
let start = Date.now();
let times = [];

setTimeout(function run() {
  times.push(Date.now() - start); // запоминаем задержку от предыдущего вызова

  if (start + 100 < Date.now()) alert(times); // показываем задержку через 100 мс
  else setTimeout(run); // если нужно ещё запланировать
});


просто подкрути его
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы