Автор оригинала: FreeCodeCamp Community Member.
Программисты используют временные события для задержки выполнения определенного кода или повторить код с определенным интервалом.
В библиотеке JavaScript используется две родные функции, используемые для выполнения этих задач: Setimeout () и SetInterval () Отказ
сентиментальный
Setimeout () используется для задержки выполнения прошедшей функции на указанное количество времени.
Есть два параметра, которые вы переходите на Setimeout () : Функция, которую вы хотите позвонить, и количество времени в миллисекундах для задержки выполнения функции.
Помните, что в 1 секунду составляет 1000 миллисекунд (MS), столь 5000 мс равно 5 секунд.
Setimeout () будет выполнять функцию из первого аргумента один раз после истечения указанного времени.
Пример:
let timeoutID;
function delayTimer() {
timeoutID = setTimeout(delayedFunction, 3000);
}
function delayedFunction() {
alert("Three seconds have elapsed.");
}Когда задержка Функция называется, она будет работать Сетримс Отказ Через 3 секунды (3000 мс) проходят, он выполнит Задержкафункция который отправит предупреждение.
setinterval.
Использовать SetInterval () Чтобы указать функцию для повторения с временной задержкой между выполнениями.
Опять же, два параметра передаются на SetInterval () : Функция, которую вы хотите позвонить, и количество времени в миллисекундах, чтобы задержать каждый вызов функции.
SetInterval () будет продолжать выполнять до тех пор, пока он не будет очищен.
Пример:
let intervalID;
function repeatEverySecond() {
intervalID = setInterval(sendMessage, 1000);
}
function sendMessage() {
console.log("One second elapsed.");
}Когда ваш код вызывает функцию RepeateverySecond Он будет работать Setinterval Отказ Setinterval запустит функцию SendMessage Каждую секунду (1000 мс).
Clearimeout и ClearInterval
Существуют также соответствующие собственные функции для остановки событий времени: Clearimeout () и ClearInterval () Отказ
Возможно, вы заметили, что каждая функция таймера вышенаправлена для переменной. Когда либо Сетримс или Setinterval Функция работает, назначается номер, который сохраняется для этой переменной. Обратите внимание, что JavaScript делает это все на заднем плане.
Это сгенерированное число уникально для каждого экземпляра таймеров. Этот присвоенный номер также о том, как таймеры идентифицированы, когда вы хотите остановить их. По этой причине вы всегда должны установить ваш таймер в переменной.
Для ясности вашего кода вы всегда должны совпадать Clearimeout () к Setimeout () и ClearInterval () к SetInterval () Отказ
Чтобы остановить таймер, вызовите соответствующую четкую функцию и пропустите ее переменную идентификатора таймера, которая соответствует таймеру, которое вы хотите остановиться. Синтаксис для ClearInterval () и Clearimeout () одинаковы.
Пример:
let timeoutID;
function delayTimer() {
timeoutID = setTimeout(delayedFunction, 3000);
}
function delayedFunction() {
alert("Three seconds have elapsed.");
}
function clearAlert() {
clearTimeout(timeoutID);
}