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