본문으로 건너뛰기

함수: injectAsyncDebouncedCallback()

function injectAsyncDebouncedCallback<TFn>(fn, options): (...args) => Promise<Awaited<ReturnType<TFn>> | undefined>;

정의 위치: angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts:40

콜백 함수의 비동기 디바운스 버전을 생성하는 Angular 함수입니다. 이 함수는 injectAsyncDebouncer를 래핑하여 기본 비동기 디바운스 요구 사항에 맞는 간소화된 API를 제공하는 래퍼입니다.

디바운스된 함수는 마지막 호출 후 지정된 대기 시간이 지난 뒤에만 실행됩니다. 대기 시간이 끝나기 전에 다시 호출하면 타이머가 초기화되어 다시 대기하기 시작합니다.

이 함수는 injectAsyncDebouncer보다 간단한 API를 제공하므로 기본 비동기 디바운스에 적합합니다. 하지만 내부 AsyncDebouncer 인스턴스를 노출하지 않습니다.

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

  • 수동 취소
  • 실행 횟수 확인
  • 오류 처리 콜백
  • 재시도 지원

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

타입 매개변수

TFn

TFn extends AnyAsyncFunction

매개변수

fn

TFn

options

AsyncDebouncerOptions&lt;TFn>

반환값

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

매개변수

args

...Parameters&lt;TFn>

반환값

Promise&lt;Awaited&lt;ReturnType&lt;TFn>> | undefined>

예시

// Debounce an async search handler
const handleSearch = injectAsyncDebouncedCallback(
async (query: string) => {
const response = await fetch(`/api/search?q=${query}`);
return response.json();
},
{ wait: 500 }
);

// Use in an input
const results = await handleSearch(searchQuery);