본문으로 건너뛰기

함수: injectRateLimitedValue()

호출 시그니처

function injectRateLimitedValue<TValue, TSelected>(
value,
initialOptions,
selector?): RateLimitedSignal<TValue, TSelected>;

정의 위치: angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:50

시간 창 안에서 지정된 최대 횟수만큼 업데이트되는 요청률 제한 값을 생성하는 Angular 함수입니다. injectRateLimitedSignal과 달리 이 함수는 입력 시그널의 변경을 자동으로 추적하고 그에 따라 요청률 제한 값을 업데이트합니다.

요청률 제한 값은 구성된 요청률 제한에 따라 업데이트되며, 제한에 도달하면 창이 초기화될 때까지 업데이트를 차단합니다.

이 함수는 다음 요소를 포함하는 요청률 제한 시그널 객체를 반환합니다.

  • 현재 요청률 제한 값을 제공하는 Signal
  • 제어 메서드를 제공하는 요청률 제한기 인스턴스

상태 관리와 셀렉터

이 함수는 내부 요청률 제한기 인스턴스를 통해 TanStack Store로 반응형 상태를 관리합니다. selector 매개변수로 어떤 요청률 제한기 상태 변경이 시그널 업데이트를 트리거할지 지정할 수 있으며, 관련 없는 상태가 변경될 때 불필요한 구독을 방지하여 성능을 최적화합니다.

기본적으로 반응형 상태 구독은 없습니다. 반응형 상태를 추적하려면 셀렉터 함수를 제공하여 명시적으로 활성화해야 합니다. 이를 통해 불필요한 업데이트를 방지하고 컴포넌트가 상태 변경을 추적할 시점을 완전히 제어할 수 있습니다.

타입 매개변수

TValue

TValue

TSelected

TSelected = { }

매개변수

value

Signal&lt;TValue>

initialOptions

RateLimiterOptions&lt;Setter&lt;TValue>>

selector?

(state) => TSelected

반환값

RateLimitedSignal&lt;TValue, TSelected>

예시

// Default behavior - no reactive state subscriptions
const value = signal(0)
const rateLimited = injectRateLimitedValue(value, {
limit: 5,
window: 60000,
windowType: 'sliding',
})

// rateLimited() will update at most 5 times per 60 seconds
effect(() => {
updateUI(rateLimited())
})

호출 시그니처

function injectRateLimitedValue<TValue, TSelected>(
value,
initialValue,
initialOptions,
selector?): RateLimitedSignal<TValue, TSelected>;

정의 위치: angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:55

시간 창 안에서 지정된 최대 횟수만큼 업데이트되는 요청률 제한 값을 생성하는 Angular 함수입니다. injectRateLimitedSignal과 달리 이 함수는 입력 시그널의 변경을 자동으로 추적하고 그에 따라 요청률 제한 값을 업데이트합니다.

요청률 제한 값은 구성된 요청률 제한에 따라 업데이트되며, 제한에 도달하면 창이 초기화될 때까지 업데이트를 차단합니다.

이 함수는 다음 요소를 포함하는 요청률 제한 시그널 객체를 반환합니다.

  • 현재 요청률 제한 값을 제공하는 Signal
  • 제어 메서드를 제공하는 요청률 제한기 인스턴스

상태 관리와 셀렉터

이 함수는 내부 요청률 제한기 인스턴스를 통해 TanStack Store로 반응형 상태를 관리합니다. selector 매개변수로 어떤 요청률 제한기 상태 변경이 시그널 업데이트를 트리거할지 지정할 수 있으며, 관련 없는 상태가 변경될 때 불필요한 구독을 방지하여 성능을 최적화합니다.

기본적으로 반응형 상태 구독은 없습니다. 반응형 상태를 추적하려면 셀렉터 함수를 제공하여 명시적으로 활성화해야 합니다. 이를 통해 불필요한 업데이트를 방지하고 컴포넌트가 상태 변경을 추적할 시점을 완전히 제어할 수 있습니다.

타입 매개변수

TValue

TValue

TSelected

TSelected = { }

매개변수

value

Signal&lt;TValue>

initialValue

TValue

initialOptions

RateLimiterOptions&lt;Setter&lt;TValue>>

selector?

(state) => TSelected

반환값

RateLimitedSignal&lt;TValue, TSelected>

예시

// Default behavior - no reactive state subscriptions
const value = signal(0)
const rateLimited = injectRateLimitedValue(value, {
limit: 5,
window: 60000,
windowType: 'sliding',
})

// rateLimited() will update at most 5 times per 60 seconds
effect(() => {
updateUI(rateLimited())
})