타이머는 콜백 기반 API이지만 프로미스 방식을 사용할 수도 있습니다. 다만 프로미스 기반 타이머는 노드 내장 객체가 아니라 2.6절에서 배울 노드 내장 모듈입니다. 여기서 먼저 사용해봅시다.
timerPromise.mjs
import { setTimeout, setInterval } from 'timers/promises';
await setTimeout(3000);
console.log('3초 뒤 실행');
for await (const startTime of setInterval(1000, Date.now())) {
console.log('1초마다 실행', new Date(startTime));
}
콘솔
$ node timerPromise.mjs
3초 뒤 실행
1초마다 실행 2025-10-12T08:10:54.969Z
1초마다 실행 2025-10-12T08:10:54.969Z
1초마다 실행 2025-10-12T08:10:54.969Z
1초마다 실행 2025-10-12T08:10:54.969Z
1초마다 실행 2025-10-12T08:10:54.969Z
(...)