Функція setTimeout() у JavaScript, використовується для додавання затримки, або планування виконання певної функції через заданий проміжок часу.
Синтаксис функції setTimeout():
setTimeout(function, delay, arg1, arg2, ...);- function: функція котра виконується через вказаний проміжок часу
- delay: час затримки, виражається в мілісекундах
- arg1, arg2: при потребі можна використовувати необов’язкові параметри
Приклад:
function greet() {
console.log('Hello, world.');
}
setTimeout(greet, 3000);
console.log('This message is shown first.');
// This message is shown first.
// Hello, world.У вищенаведеній програмі, функція setTimeout() викликає функцію greet() через 3 секунди.
Функція setTimeout() може бути корисною, коли є потреба виконати блок коду один раз через заданий час (наприклад відобразити повідомлення користувачу).
Скасування функції setTimeout()
JavaScript також надає функцію clearTimeout(), для скасування запланованої дії тайм-аутом до того, як вона буде виконана.
Синтаксис функції clearTimeout():
clearTimeout(intervalID);intervalID – це значення (ідентифікатор), що повертається функцією setTimeout().
Приклад застосування функції clearTimeout():
let count = 0;
function increaseCount() {
count += 1;
console.log(count);
}
const id = setTimeout(increaseCount, 3000);
clearTimeout(id);
console.log('setTimeout is stopped');
console.log('count:', count);
// setTimeout is stopped
// count: 0У вищенаведеній програмі, функція setTimeout() використовується для збільшення значення count через 3 секунди. Однак функція clearTimeout(), скасовує виклик setTimeout(), а отже значення count не збільшується.
Додаткові аргументи setTimeout()
До функції setTimeout() можна також передавати додаткові аргументи, котрі далі передаються функції, котру setTimeout() також приймає в якості аргумента.
Приклад:
function greet(name) {
console.log(`Hello, ${name}.`);
}
setTimeout(greet, 1000, 'John');
// Hello, John.