기본 패턴
javascript
const intervalId = setInterval(() => {
console.log("polling...");
}, 1000);
setTimeout(() => {
clearInterval(intervalId);
console.log("stopped");
}, 5000);설명
setTimeout은 한 번만,setInterval은 반복 실행입니다.- 상태 체크, 로그 전송, 단순 폴링 작업에서 자주 보입니다.
- 주기 작업은 종료 조건을 반드시 같이 두어야 서버가 불필요하게 계속 돌지 않습니다.
짧은 예제
javascript
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
await delay(300);
console.log("after 300ms");빠른 정리
| 함수 | 설명 |
|---|---|
setTimeout(fn, ms) | 한 번 실행 |
setInterval(fn, ms) | 반복 실행 |
clearTimeout(id) | timeout 취소 |
clearInterval(id) | interval 취소 |
주의할 점
setInterval 안 작업이 오래 걸리면 호출이 밀리거나 겹친 것처럼 보일 수 있어, API 폴링은 재귀 setTimeout이 더 안전할 때도 많습니다.