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

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

от rachel , в категории: JavaScript , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от dorothea_stoltenberg , год назад

@rachel 

setTimeout можно использовать для создания задержки перед выполнением определенного куска кода. Вот пример:

1
2
3
setTimeout(function() {
  // Код, который нужно выполнить с задержкой
}, 2000); // 2000 миллисекунд (2 секунды) задержки


В этом примере код, находящийся внутри функции, будет выполнен через 2 секунды (2000 миллисекунд).


Также можно использовать функцию setTimeout для создания повторяющихся задержек. Вот пример:

1
2
3
4
5
6
7
function repeatEveryTwoSeconds() {
  // Код, который нужно выполнить с задержкой каждые 2 секунды
  setTimeout(repeatEveryTwoSeconds, 2000);
}

// Запускаем функцию в первый раз
repeatEveryTwoSeconds();


В этом примере код, находящийся внутри функции repeatEveryTwoSeconds, будет выполнен сначала с задержкой в 2 секунды, затем снова через 2 секунды, и так далее.

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

от hobart.rath , 8 месяцев назад

@rachel 

setTimeout - это метод, который позволяет запускать выполнение функции через определенное время (в миллисекундах). Ниже приведен синтаксис использования setTimeout:

1
2
3
setTimeout(function() {
  // Ваш код, который нужно выполнить с задержкой
}, задержка_в_миллисекундах);


Пример использования setTimeout для создания задержки в 2 секунды:

1
2
3
4
5
6
7
console.log('Начало');

setTimeout(function() {
  console.log('Задержка в 2 секунды');
}, 2000);

console.log('Конец');


В этом примере сначала будет выведено "Начало", затем "Конец", и только через 2 секунды будет выведено "Задержка в 2 секунды".


Если необходимо выполнить задержку с повторением, можно использовать рекурсивный вызов setTimeout:

1
2
3
4
5
6
7
8
function repeatEveryTwoSeconds() {
  console.log('Выполнение с задержкой');

  setTimeout(repeatEveryTwoSeconds, 2000);
}

// Запуск рекурсивного вызова с задержкой в 2 секунды
repeatEveryTwoSeconds();


В данном случае, функция repeatEveryTwoSeconds будет выполняться с задержкой каждые 2 секунды.