함수: injectAsyncRateLimitedCallback()
function injectAsyncRateLimitedCallback<TFn>(fn, options): (...args) => Promise<Awaited<ReturnType<TFn>> | undefined>;
정의 위치: angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts:43
콜백 함수의 비동기 요청률 제한 버전을 생성하는 Angular 함수입니다.
이 함수는 injectAsyncRateLimiter를 래핑하여 기본 비동기 요청률 제한 요구 사항에 맞는 간소화된 API를 제공하는
래퍼입니다.
이 함수는 injectAsyncRateLimiter보다 간단한 API를 제공하므로 기본
비동기 요청률 제한에 적합합니다. 하지만 내부 AsyncRateLimiter 인스턴스를 노출하지 않습니다.
다음과 같은 기능이 필요한 고급 사용 사례에서는:
- 수동 취소/초기화
- 실행 횟수 확인
- 오류 처리 콜백
- 재시도 지원
대신 injectAsyncRateLimiter 함수 사용을 고려합니다.
타입 매개변수
TFn
TFn extends AnyAsyncFunction
매개변수
fn
TFn
options
AsyncRateLimiterOptions<TFn>
반환값
(...args): Promise<Awaited<ReturnType<TFn>> | undefined>;
매개변수
args
...Parameters<TFn>
반환값
Promise<Awaited<ReturnType<TFn>> | undefined>
예시
// Rate limit API calls
const makeApiCall = injectAsyncRateLimitedCallback(
async (data: ApiData) => {
const response = await fetch('/api/endpoint', {
method: 'POST',
body: JSON.stringify(data)
});
return response.json();
},
{
limit: 5,
window: 60000,
windowType: 'sliding',
}
);
// Use in event handler
const result = await makeApiCall(apiData);