Періодичні виконання
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);