Функция setTimeout используется для выполнения кода или функции спустя заданный интервал времени, однократно. Она является частью Web API в браузерах и глобального объекта
global
в Node.js, что делает её доступной для использования в любом окружении.let timeoutID = setTimeout(function[, delay, arg1, arg2, ...]);
let timeoutID = setTimeout(functionCode[, delay]);
function: Будет вызвана после задержки.
functionCode: Строка кода для выполнения (использование этой формы не рекомендуется по соображениям безопасности).
delay: Задержка в миллисекундах, после которой будет выполнена функция. Если не указать, по умолчанию будет использовано значение 0.
arg1, arg2, ...: Аргументы, которые будут переданы в функцию при её вызове.
function sayHello() {
console.log('Привет!');
}
// Вызывает функцию sayHello после задержки в 2000 миллисекунд (2 секунды)
setTimeout(sayHello, 2000);
setTimeout
Вызов ее возвращает идентификатор таймера, который можно использовать для отмены выполнения с помощью функции
clearTimeout
.let timerId = setTimeout(sayHello, 2000);
// Отменяет выполнение
clearTimeout(timerId);
В HTML5 спецификация предусматривает минимальную задержку в
4ms
для вложенных таймеров и в некоторых других случаях, что может повлиять на ожидаемое время выполнения.Браузеры могут изменять поведение таймеров для неактивных вкладок для оптимизации производительности и энергопотребления. Это может привести к значительно большей задержке, чем указано.
setTimeout
не блокирует выполнение кода, который следует за ним. Он лишь запланирует выполнение функции на будущее, позволяя остальному коду продолжать выполняться без ожидания.Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Если контексты в DI фреймворке (например, в Angular, React или NestJS) перекрывают друг друга, то:
- Последний контекст (или более локальный) переопределит предыдущий.
- Может возникнуть конфликт зависимостей или непредсказуемое поведение. Важно понимать иерархию инжекторов и область действия каждого контекста.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM