====== Періодичні виконання ======
===== setTimeout (встановлення таймеру) =====
**setTimeout** (nameFunction, 1000) - викликає указанную функуию** один раз** через 1000мс
const timerId = setTimeout(callback, delay, arg1, arg2, ...);
* callback — функція, виклик якої необхідно запланувати
* delay — час у мілісекундах, через який callback-функція буде викликана один раз
* arg1, arg2 тощо) не обов’язкові і будуть передані callback функції під час виклику.
Результатом виклику setTimout() буде цифровий ідентифікатор створеного таймера, який потім може бути використаним для його подальшого скасування.
const button = document.querySelector("button");
const onClick = () => {
const timerId = setTimeout(() => {
console.log("I love async JS!");
}, 2000);
console.log(timerId);
};
button.addEventListener("click", onClick);
===== clearTimeout (скачування таймеру) =====
**clearTimeout(id)** - приймає ідентифікатор таймера та “очищає його”, тобто видаляє реєстрацію відкладеного виклику функції з черги.
const greet = () => {
console.log("Hello!");
};
const timerId = setTimeout(greet, 3000);
clearTimeout(timerId);
===== setInterval (встановлення інтервалу) =====
**setInterval()** — це простий спосіб повторення коду знову і знову з певним інтервалом.
const intervalId = setInterval(callback, delay, arg1, arg2, ...);
const startBtn = document.querySelector(".js-start");
startBtn.addEventListener("click", () => {
const intervalId = setInterval(() => {
console.log(`Interval ID: ${intervalId}, ${Math.random()}`);
}, 1000);
});
===== clearInterval (скачування інтервалу) =====
**clearInterval(id)** — приймає ідентифікатор інтервалу та очищає його, тобто видаляє виклики, зареєстровані переданим інтервалом з асинхронної черги.
const greet = () => {
console.log("Hello!");
};
const intervalId = setInterval(greet, 3000);
clearInterval(intervalId);