Как можно организовать повторяющиеся задержки с помощью setTimeout?

Пользователь

от mona_terry , в категории: JavaScript , 2 месяца назад

Как можно организовать повторяющиеся задержки с помощью setTimeout?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nelle , 2 месяца назад

@mona_terry 

Для организации повторяющихся задержек с помощью функции setTimeout можно использовать рекурсивный подход. Ниже приведен пример кода, демонстрирующий такую реализацию:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
function repeatedDelay(delay, repetitions) {
  setTimeout(() => {
    console.log("Delay");
  
    if (repetitions > 1) {
      repeatedDelay(delay, repetitions - 1);
    }
  }, delay);
}

// Пример использования: повторить задержку 5 раз с интервалом в 1 секунду
repeatedDelay(1000, 5);


Вышеуказанный пример использует функцию repeatedDelay, которая вызывает setTimeout для обеспечения задержки в миллисекундах и выполняет некоторое действие (в данном случае, выводит в консоль "Delay"). Затем, если количество повторений больше 1, функция вызывает сама себя с уменьшенным количеством повторений. Таким образом, происходит "повторение" задержки указанное количество раз с заданным интервалом.