디바운스 기능은 기능이 실행될 수 있는 속도를 제한합니다. 예를 들어, 서버를 쿼리하는 자동 완성 텍스트 막대. 키를 누를 때마다 서버를 쿼리하면 불필요하게 네트워크 및 메모리에 영향을 미칩니다. 대신 할 수 있는 일은 주어진 시간 동안 이러한 통화 수를 제한하는 것입니다.
실제 함수를 인수로 사용하여 속도 제한(조절) 방식으로 실행하는 자체 디바운스 함수를 작성할 수 있습니다.
예시
const debounce = (cb, time) => { let timeout; return function() { const wrapperFunc = () => cb.apply(this, arguments); clearTimeout(timeout); timeout = setTimeout(wrapperFunc, time); } }
이 함수는 2개의 인수 콜백과 호출되어야 하는 간격을 취합니다. 따라서 API에 대한 첫 번째 호출이 1ms에 있고 시간을 250ms로 설정했다고 가정해 보겠습니다. 251ms까지 이 함수가 호출된 횟수에 관계없이 API에 대한 새 호출이 만들어지지 않습니다. 이 호출을 사용하여 자신의 함수 호출을 대체할 수 있습니다.