Модульные таймеры
модуль таймеров
Статическая функция
setTimeout
Вызов функции по истечении указанного времени
1
2
3static Timer timers.setTimeout(Function callback,
Number timeout = 1,
...args);
Параметры звонка:
- callback: Функция, укажите функцию обратного вызова
- timeout: Число, указывает время задержки в миллисекундах. Если он превышает 2 ^ 31, он будет выполнен немедленно.
- args: ..., дополнительные параметры, переданные в указанный обратный вызов, необязательно.
Результат возврата:
- Timer, Возвращает объект таймера
clearTimeout
Очистить указанный таймер
1static timers.clearTimeout(Value t);
Параметры звонка:
- t: Значение, укажите таймер, который нужно очистить
setInterval
Вызов функции через каждый указанный интервал времени
1
2
3static Timer timers.setInterval(Function callback,
Number timeout,
...args);
Параметры звонка:
- callback: Функция, укажите функцию обратного вызова
- timeout: Число, время указанного интервала в миллисекундах. Если он превышает 2 ^ 31, он будет выполнен немедленно.
- args: ..., дополнительные параметры, переданные в указанный обратный вызов, необязательно.
Результат возврата:
- Timer, Возвращает объект таймера
clearInterval
Очистить указанный таймер
1static timers.clearInterval(Value t);
Параметры звонка:
- t: Значение, укажите таймер, который нужно очистить
setHrInterval
Функция вызывается через каждый указанный интервал времени. Это высокоточный таймер, который будет активно прерывать запущенный таймер выполнения скрипта JavaScript.
1
2
3static Timer timers.setHrInterval(Function callback,
Number timeout,
...args);
Параметры звонка:
- callback: Функция, укажите функцию обратного вызова
- timeout: Число, время указанного интервала в миллисекундах. Если он превышает 2 ^ 31, он будет выполнен немедленно.
- args: ..., дополнительные параметры, переданные в указанный обратный вызов, необязательно.
Результат возврата:
- Timer, Возвращает объект таймера
Поскольку таймер setHrInterval прерывает выполняющийся код для выполнения обратного вызова, не изменяйте данные, которые могут повлиять на другие модули в функции обратного вызова, и не вызывайте любую функцию api, помеченную как асинхронную в обратном вызове, иначе это приведет к непредсказуемым результатам. Например:
1
2
3
4
5
6
7
8
9
10var timers = require('timers');
var cnt = 0;
timers.setHrInterval(() => {
cnt++;
}, 100);
while (cnt < 10);
console.error("===============================> done");
В этом коде цикл в строке 8 не заканчивается из-за изменения cnt, потому что JavaScript определит, что cnt не будет изменен в течение этого цикла при оптимизации кода.
clearHrInterval
Очистить указанный таймер
1static timers.clearHrInterval(Value t);
Параметры звонка:
- t: Значение, укажите таймер, который нужно очистить
setImmediate
Немедленно выполнить функцию обратного вызова в следующее свободное время
1
2static Timer timers.setImmediate(Function callback,
...args);
Параметры звонка:
- callback: Функция, укажите функцию обратного вызова
- args: ..., дополнительные параметры, переданные в указанный обратный вызов, необязательно.
Результат возврата:
- Timer, Возвращает объект таймера
clearImmediate
Очистить указанный таймер
1static timers.clearImmediate(Value t);
Параметры звонка:
- t: Значение, укажите таймер, который нужно очистить
call
Вызвать заданную функцию и прервать работу функции по истечении периода ожидания
1
2
3static Value timers.call(Function func,
Number timeout,
...args);
Параметры звонка:
- func: Функция, укажите функцию для запуска
- timeout: Число, укажите период ожидания
- args: ..., дополнительные параметры, переданные в указанный обратный вызов, необязательно.
Результат возврата:
- Value, Вернуть результат выполнения функции func