본문으로 건너뛰기

함수: 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&lt;TFn>

반환값

(...args): Promise<Awaited<ReturnType<TFn>> | undefined>;

매개변수

args

...Parameters&lt;TFn>

반환값

Promise&lt;Awaited&lt;ReturnType&lt;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);