함수: 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<TFn>
반환값
(...args): Promise<Awaited<ReturnType<TFn>> | undefined>;
매개변수
args
...Parameters<TFn>
반환값
Promise<Awaited<ReturnType<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);