모듈 타이머
타이머 모듈은 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, func의 실행 결과를 반환합니다.