Search

타이머

타이머

Node.jsμ—λŠ” λ‹€μ–‘ν•œ 타이머 λ‚΄μž₯ 객체가 μžˆμŠ΅λ‹ˆλ‹€. 이듀 타이머 κ°μ²΄λŠ” 비동기적인 μž‘μ—…μ„ μŠ€μΌ€μ€„λ§ν•˜κ³  μ‹€ν–‰ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

타이머 μ‹€ν–‰ ν•¨μˆ˜

λ©”μ„œλ“œ
μ„€λͺ…
setTimeout
μ§€μ •λœ μ‹œκ°„μ΄ κ²½κ³Όν•œ 후에 ν•œ 번만 콜백 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
setInterval
μΌμ •ν•œ κ°„κ²©μœΌλ‘œ 콜백 ν•¨μˆ˜λ₯Ό 반볡적으둜 μ‹€ν–‰ν•©λ‹ˆλ‹€.
setImmediate
ν˜„μž¬ μ‹€ν–‰ 쀑인 이벀트 루프λ₯Ό λ‹€ μ²˜λ¦¬ν•œ 후에 콜백 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

타이머 μ·¨μ†Œ ν•¨μˆ˜

λ©”μ„œλ“œ
μ„€λͺ…
clearTimeout
setTimeout에 μ˜ν•΄ μ˜ˆμ•½λœ μž‘μ—…μ„ μ·¨μ†Œν•©λ‹ˆλ‹€.
clearInterval
setInterval에 μ˜ν•΄ μ˜ˆμ•½λœ μž‘μ—…μ„ μ·¨μ†Œν•©λ‹ˆλ‹€.
clearImmediate
setImmediate에 μ˜ν•΄ μ˜ˆμ•½λœ μž‘μ—…μ„ μ·¨μ†Œν•©λ‹ˆλ‹€.
μ΄λŸ¬ν•œ 타이머 객체듀은 Node.js의 비동기적인 νŠΉμ„±μ„ μ΄ν•΄ν•˜κ³  μž‘μ—…μ„ μŠ€μΌ€μ€„λ§ν•  λ•Œ μœ μš©ν•˜κ²Œ ν™œμš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

setTimeout

μ§€μ •λœ μ‹œκ°„μ΄ κ²½κ³Όν•œ 후에 콜백 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
console.log('Start'); setTimeout(() => { console.log('Delayed log after 2000 milliseconds'); }, 2000); console.log('End');
JavaScript
볡사

setInterval

μΌμ •ν•œ κ°„κ²©μœΌλ‘œ 콜백 ν•¨μˆ˜λ₯Ό 반볡 μ‹€ν–‰ν•©λ‹ˆλ‹€.
let count = 0; const intervalId = setInterval(() => { console.log(`Repeated log every 1000 milliseconds: ${count}`); count++; if (count >= 5) { clearInterval(intervalId); // 5번 반볡 ν›„ clearInterval둜 쀑단 } }, 1000);
JavaScript
볡사

setImmediate

ν˜„μž¬ μ‹€ν–‰ 쀑인 이벀트 루프λ₯Ό λ‹€ μ²˜λ¦¬ν•œ 후에 콜백 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
console.log('Start'); setImmediate(() => { console.log('Immediate log'); }); console.log('End');
JavaScript
볡사