디바운스(Debounce)와 쓰로틀링(Throttle) 예제
성능상의 문제로, 다음 2가지 방법을 사용하기도 한다. 쓰로틀링 : 일정 시간 간격으로 실행됨. 해당 시간 보다 짧게 발생한 것들은 무시하되 그 중 최종 발생했던 것만 기억해서 그것을 실행한다. function throttle(func, ms) { let isThrottled = false, savedArgs, savedThis; function wrapper() { if (isThrottled) { savedArgs = arguments; savedThis = this; return; } func.apply(this, arguments); isThrottled = true; setTimeout(function () { isThrottled = false; if (savedArgs) { wrapper.a..
2022.10.23