728x90
λ°˜μ‘ν˜•

setTimeout 1

JavaScript] λ””λ°”μš΄μ‹±(Debouncing) & μ“°λ‘œν‹€λ§(Throttling)

JSμ—μ„œ μ΅œμ ν™”μž‘μ—…? 에 κ°€κΉŒμš΄ κ°œλ…μž…λ‹ˆλ‹€. λ”°λ‘œ μ˜μ‹ν•˜κ±°λ‚˜ κ°œλ…μ„ μ•Œκ³  κ°œλ°œν•œ 적은 μ—†λŠ”λ°, μ΄λ²ˆκΈ°νšŒμ— 저도 μ°Ύμ•„λ³΄λ©΄μ„œ κ³΅λΆ€ν•˜κ³  μ•žμœΌλ‘œμ˜ κ°œλ°œμ— μžˆμ–΄ 쒋은 밑거름이 될 λ“―μ‹ΆμŠ΅λ‹ˆλ‹€. λ””λ°”μš΄μ‹±(Debouncing) λΉˆλ²ˆν•˜κ²Œ λ°œμƒν•˜λŠ” 이벀트λ₯Ό νŠΉμ • μ‹œκ°„ 이후에 ν•œ 번만 μ‹€ν–‰μ‹œν‚€λ©΄ λ˜λŠ” μ΅œμ ν™” κΈ°λ²•μž…λ‹ˆλ‹€. μ˜ˆμ‹œ κ°„λ‹¨ν•œ μ˜ˆμ‹œλ‘œ μ„€λͺ…λ“œλ¦¬λ©΄, νšŒμ›κ°€μž… νŽ˜μ΄μ§€κ°€ μžˆλ‹€κ³  생각해 λ΄…μ‹œλ‹€. νšŒμ›κ°€μž… 정보 μž…λ ₯ ν›„, submitλ²„νŠΌμ„ 눌러 μ œμΆœν•˜λŠ”λ° 이 λ²„νŠΌμ„ κ΄‘ν΄ν•΄μ„œ 500ms에 5번 ν΄λ¦­ν•˜κ²Œ 되면, post둜 데이터가 5번 μ „λ‹¬ν•˜κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ””λ°”μš΄μ‹± κ°œλ…μ„ μ‚¬μš©ν•΄μ„œ νŠΉμ • μ‹œκ°„μ„ 500ms둜 μ„€μ •ν•˜κ²Œ 되면, 500ms λ™μ•ˆ ν΄λ¦­ν•œ 5번이 μ „λΆ€ μ „λ‹¬λ˜λŠ” 게 μ•„λ‹ˆλΌ λ§ˆμ§€λ§‰ 1번만 전달 되게 ν•¨μœΌλ‘œμ¨ 효율적으둜 사..

Language/JavaScript 2023.07.15
728x90
λ°˜μ‘ν˜•