Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

자바스크립트 디바운스 기능을 설명하시오?

<시간/>

디바운스 기능은 기능이 실행될 수 있는 속도를 제한합니다. 예를 들어, 서버를 쿼리하는 자동 완성 텍스트 막대. 키를 누를 때마다 서버를 쿼리하면 불필요하게 네트워크 및 메모리에 영향을 미칩니다. 대신 할 수 있는 일은 주어진 시간 동안 이러한 통화 수를 제한하는 것입니다.

실제 함수를 인수로 사용하여 속도 제한(조절) 방식으로 실행하는 자체 디바운스 함수를 작성할 수 있습니다.

예시

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에 대한 새 호출이 만들어지지 않습니다. 이 호출을 사용하여 자신의 함수 호출을 대체할 수 있습니다.