Link Search Menu Expand Document

Скрипты и время их выполнения

setTimeout

  • В начале setTimeout принимает функцию которая должна запуститься через определенное время;
  • Вторым аргументом указывается время в миллисекундах через которое функция должна выполниться;
  • Третьим аргументом мы передаем аргумент для выполняемой функции. Аргументов может быть бесконечное количество.
const timerId = setTimeout(function(text) {
    console.log(text);
}, 2000, 'Hello');

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

clearInterval(timerId);

setInterval

Данная функция выполняет заданную функцию через определенный промежуток времени. Абсолютно все параметры идентичны с setTimeout

Чем рекурсивный setTimeout лучше чем setInterval?

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

let id = setTimeout(function log() { 
    console.log('Hello');
    id = setTimeout(log, 500);
}, 500);