함수: 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<TFn>
반환값
(...args): boolean;
매개변수
args
...Parameters<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',
}
);