модульные таймеры
Модуль таймеров — это встроенный модуль, который предоставляет некоторые функции и объекты, связанные со временем, включая setTimeout(), setInterval(),clearInterval(),clearTimeout() и т. д.
Функция setInterval() вызывает функцию каждый указанный раз и возвращает объект таймера.
1
2
3
4
5
6var timers = require('timers');
function callback() {
console.log('Hello, World!');
}
var intervalId = timers.setInterval(callback, 1000);
Функция setTimeout() вызывает функцию по истечении указанного времени и возвращает объект таймера.
1
2
3
4
5
6var timers = require('timers');
function callback() {
console.log('Hello, World!');
}
var timeoutId = timers.setTimeout(callback, 1000);
Функция ClearTimeout() используется для отмены таймера, установленного методом setTimeout(). Необходимо предоставить значение идентификатора таймера, возвращаемое в setTimeout().
1
2
3
4
5
6
7var timers = require('timers');
function callback() {
console.log('Hello, World!');
}
var timeoutId = timers.setTimeout(callback, 1000);
timers.clearTimeout(timeoutId);
Функция ClearInterval() используется для отмены таймера, установленного методом setInterval(). Необходимо предоставить значение идентификатора таймера, возвращаемое в setInterval().
1
2
3
4
5
6
7var timers = require('timers');
function callback() {
console.log('Hello, World!');
}
var intervalId = timers.setInterval(callback, 1000);
timers.clearInterval(intervalId);
Функция setImmediate() используется для немедленного вызова функции во время следующего времени простоя и возврата объекта таймера.
1
2
3
4
5
6var timers = require('timers');
function callback() {
console.log('Hello, World!');
}
var immediateId = timers.setImmediate(callback);
Выше приведены примеры общих функций и объектов, предоставляемых модулем таймеров.Используя эти функции и объекты, вы можете легко реализовать отложенное выполнение задачи или выполнение задачи по расписанию в своем приложении.
статическая функция
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, возвращает текущий результат функции