[Javascript] setTimeout, setInterval

parkheeddongΒ·2023λ…„ 5μ›” 8일

JavaScript

λͺ©λ‘ 보기
23/26
post-thumbnail

1. setTimeout() μ‚¬μš©λ²•

πŸ”” μ½”λ“œλ₯Ό λ°”λ‘œ μ‹€ν–‰ν•˜μ§€ μ•Šκ³  일정 μ‹œκ°„ κΈ°λ‹€λ¦° ν›„ μ‹€ν–‰ν•΄μ•Όν•˜λŠ” 경우 μ‚¬μš©ν•œλ‹€.

첫번째 인자 : μ‹€ν–‰ν•  μ½”λ“œλ₯Ό λ‹΄κ³  μžˆλŠ” ν•¨μˆ˜
λ‘λ²ˆμ§Έ 인자 : μ§€μ—° μ‹œκ°„μ„ λ°€λ¦¬μ΄ˆ(ms) λ‹¨μœ„
μ„Έλ²ˆμ§Έ 인자~ : 첫번째 인자둜 λ„˜μ–΄μ˜¨ ν•¨μˆ˜κ°€ 인자λ₯Ό λ°›λŠ” 경우 이 ν•¨μˆ˜μ— λ„˜κΈΈ 인자

setTimeout(() => console.log("2초 후에 싀행됨"), 2000);
-> 2초 후에 μ‹€ν–‰λœλ‹€.

function add(x, y) {
  console.log(x + y);
}
setTimeout(add, 2000, 3, 4);
//7

πŸ”” νƒ€μž„μ•„μ›ƒ 아이디와 clearTimeout()

setTimeout() ν•¨μˆ˜λŠ” νƒ€μž„μ•„μ›ƒ 아이디라고 λΆˆλ¦¬λŠ” 숫자λ₯Ό λ°˜ν™˜ν•œλ‹€.
νƒ€μž„μ•„μ›ƒ μ•„μ΄λ””λŠ” setTimeout() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œλ§ˆλ‹€ λ‚΄λΆ€μ μœΌλ‘œ μƒμ„±λ˜λŠ” 타이머 객체λ₯Ό 가리킨닀,
이 값을 인자둜 clearTimeout() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ κΈ°λ‹€λ Έλ‹€κ°€ 싀행될 μ½”λ“œλ₯Ό μ·¨μ†Œν•  수 μžˆλ‹€.

const timeoutId = setTimeout(() => console.log("5초 후에 싀행됨"), 5000);
clearTimeout(timeoutId);
// 아무 것도 좜λ ₯ μ•ˆ 됨

2. setInterval() μ‚¬μš©λ²•

πŸ”” μ½”λ“œλ₯Ό μΌμ •ν•œ μ‹œκ°„ 간격을 두고 λ°˜λ³΅ν•΄μ„œ μ‹€ν–‰ν•˜κ³  싢을 λ•Œ μ‚¬μš©ν•œλ‹€.

첫번째 인자 : μ‹€ν–‰ν•  μ½”λ“œλ₯Ό λ‹΄κ³  μžˆλŠ” ν•¨μˆ˜
λ‘λ²ˆμ§Έ 인자 : μ§€μ—° μ‹œκ°„μ„ λ°€λ¦¬μ΄ˆ(ms) λ‹¨μœ„
μ„Έλ²ˆμ§Έ 인자~ : 첫번째 인자둜 λ„˜μ–΄μ˜¨ ν•¨μˆ˜κ°€ 인자λ₯Ό λ°›λŠ” 경우 이 ν•¨μˆ˜μ— λ„˜κΈΈ 인자

setInterval(() => console.log(new Date()), 2000);
Sun Dec 12 2021 12:29:06 GMT-0500 (Eastern Standard Time)
Sun Dec 12 2021 12:29:08 GMT-0500 (Eastern Standard Time)
Sun Dec 12 2021 12:29:10 GMT-0500 (Eastern Standard Time)
Sun Dec 12 2021 12:29:12 GMT-0500 (Eastern Standard Time)
Sun Dec 12 2021 12:29:14 GMT-0500 (Eastern Standard Time)
Sun Dec 12 2021 12:29:16 GMT-0500 (Eastern Standard Time)
Sun Dec 12 2021 12:29:18 GMT-0500 (Eastern Standard Time)
 let count = 0;
setInterval(() => console.log(++count), 2000);
1
2
3
4
5
6
7
8
9
10

πŸ”” μΈν„°λ²Œ 아이디와 clearTimeout()

setInterval()은 μΈν„°λ²Œ 아이디라고 λΆˆλ¦¬λŠ” 숫자λ₯Ό λ°˜ν™˜ν•œλ‹€.
setInterval() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ λ§ˆλ‹€ λ‚΄λΆ€μ μœΌλ‘œ μƒμ„±λ˜λŠ” 타이머 객체λ₯Ό 가리킀고 μžˆλ‹€. 이 값을 인자둜 clearInterval() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ μ½”λ“œκ°€ 주기적으둜 μ‹€ν–‰λ˜λŠ” 것을 μ€‘λ‹¨μ‹œν‚¬ 수 μžˆλ‹€.

> const intervalId = setInterval(() => console.log(new Date()), 2000);
< Sun Dec 12 2021 12:45:31 GMT-0500 (Eastern Standard Time)
< Sun Dec 12 2021 12:45:33 GMT-0500 (Eastern Standard Time)
< Sun Dec 12 2021 12:45:35 GMT-0500 (Eastern Standard Time)
> clearInterval(intervalId);`
``


좜처 : https://www.daleseo.com/js-timer/

0개의 λŒ“κΈ€