# Использование методов планирования времени
Установить время задержки для выполнения функции можно двумя способами:
- Метод **setTimeout()**;
- Задерживающий декоратор **delay()**.
Они позволяют вызвать функцию один раз через определённый интервал времени.
### setTimeout()
```JavaScript
setTimeout($func, int $delay, $arg1, $arg2, ...)
```
##### Атрибуты:
Имя | Тип | Описание |
func | function | Вызываемая функция |
delay | int | Задержка перед запуском в миллисекундах. Значение по умолчанию – 0 |
arg1, arg2, ... | mixed | Аргументы, передаваемые в функцию |
##### Пример:
```JavaScript
function sayHi(phrase, who) {
lead.setAttr('sayHi', phrase + ', ' + who);
}
setTimeout(sayHi, 1000, "Привет", "Джон");
```
или
```JavaScript
setTimeout("lead.setAttr('sayHi', 'Привет!')", 1000);
```
Отмена таймера:
```JavaScript
let timerId = setTimeout(...);
clearTimeout(timerId);
```
### delay()
```
delay($f, int $ms)
```
##### Aтрибуты:
Имя | Тип | Описание |
f | function | Вызываемая функция |
ms | int | Задержка перед запуском в миллисекундах |
##### Пример:
```JavaScript
function sayHi(text) {
lead.setAttr('sayHi', text);
}
let f1000 = delay(sayHi, 1000);
f1000("Привет!");
```