Модульные таймеры
модуль таймеров
Статическая функция
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 : Function, укажите функцию для запуска
- timeout : Number, укажите период ожидания
- args : ..., дополнительные параметры, переданные в указанный обратный вызов, необязательно.
Результат возврата:
- Value , возвращает результат выполнения функции func