Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

setTimeout

Выполняет функцию один раз через заданное время.

Доступно с: Web API

Синтаксис

setTimeout(callback, delay, ...args)

Параметры

ПараметрТипОписание
callbackFunctionФункция, которая выполнится один раз.
delaynumberНеобязательный. Задержка в миллисекундах. По умолчанию 0.
...argsanyНеобязательные. Аргументы для функции.

Возвращаемое значение

numberИдентификатор таймера — для отмены через clearTimeout.

Примеры

Отложенный вызов:

setTimeout(() => console.log('one second later'), 1000);
 
console.log('right now');

Результат:

right now
one second later

Даже нулевая задержка выполняется после текущего кода:

setTimeout(() => console.log('timer'), 0);
 
console.log('first');
console.log('second');

Результат:

first
second
timer

Пауза через промис:

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
 
console.log('start');
await sleep(300);
console.log('300 ms later');

Результат:

start
300 ms later

Примечания

Задержка — минимальное время, а не точное: если программа занята, функция выполнится позже.

Частая ошибка — передать результат вызова вместо функции: setTimeout(greet(), 1000) вызовет greet сразу. Правильно: setTimeout(greet, 1000) или setTimeout(() => greet('Anna'), 1000).

См. также

  • clearTimeout — Отменяет запланированный setTimeout.
  • setInterval — Выполняет функцию снова и снова с заданным интервалом.
  • Promise — Обещание результата, который будет готов позже: успех или ошибка.

Вопросы и ответы по теме

В учебнике

  • Таймеры — Функции setTimeout и setInterval в JavaScript: отложенный и повторяющийся вызов, аргументы, отмена таймера.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.