본문으로 건너뛰기

함수: injectRateLimitedCallback()

function injectRateLimitedCallback<TFn>(fn, options): (...args) => boolean;

정의 위치: angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts:39

콜백 함수의 요청률 제한 버전을 생성하는 Angular 함수입니다. 이 함수는 injectRateLimiter를 래핑하여 기본 요청률 제한 요구 사항에 맞는 간소화된 API를 제공하는 래퍼입니다.

요청률 제한은 단순한 "하드 리밋" 방식입니다. 제한에 도달할 때까지 모든 호출을 허용하고, 그 후 창이 초기화될 때까지 후속 호출을 차단합니다. 스로틀이나 디바운스와 달리 호출 간격을 조정하거나 지능적으로 병합하지 않습니다.

이 함수는 injectRateLimiter보다 간단한 API를 제공하므로 기본 요청률 제한에 적합합니다. 하지만 내부 RateLimiter 인스턴스를 노출하지 않습니다.

다음과 같은 기능이 필요한 고급 사용 사례에서는:

  • 수동 취소/초기화
  • 실행 횟수 확인
  • 상태 추적

대신 injectRateLimiter 함수 사용을 고려합니다.

타입 매개변수

TFn

TFn extends AnyFunction

매개변수

fn

TFn

options

RateLimiterOptions&lt;TFn>

반환값

(...args): boolean;

매개변수

args

...Parameters&lt;TFn>

반환값

boolean

예시

// Rate limit API calls to maximum 5 calls per minute
const makeApiCall = injectRateLimitedCallback(
(data: ApiData) => {
return fetch('/api/endpoint', { method: 'POST', body: JSON.stringify(data) });
},
{
limit: 5,
window: 60000, // 1 minute
windowType: 'sliding',
}
);