本页还没有译文
本页 62 段还没译成Tiếng Việt,下面显示的是英文原文。Debouncer
还没翻译译自英文(tanstack.com)本页 62 段都还没译
Defined in: debouncer.ts:142
A class that creates a debounced function.
Debouncing ensures that a function is only executed after a certain amount of time has passed since its last invocation. This is useful for handling frequent events like window resizing, scroll events, or input changes where you want to limit the rate of execution. This synchronous version is lighter weight and often all you need - upgrade to AsyncDebouncer when you need promises, retry support, abort/cancel capabilities, or advanced error handling.
The debounced function can be configured to execute either at the start of the delay period (leading edge) or at the end (trailing edge, default). Each new call during the wait period will reset the timer.
State Management:
- Uses TanStack Store for reactive state management
- Use
initialStateto provide initial state values when creating the debouncer - Use
onExecutecallback to react to function execution and implement custom logic - The state includes canLeadingExecute, execution count, and isPending status
- State can be accessed via
debouncer.store.statewhen using the class directly - When using framework adapters (React/Solid), state is accessed from
debouncer.state
Example
const debouncer = new Debouncer((value: string) => {
saveToDatabase(value);
}, { wait: 500 });
// Will only save after 500ms of no new input
inputElement.addEventListener('input', () => {
debouncer.maybeExecute(inputElement.value);
});Type Parameters
TFn
TFn extends AnyFunction
Constructors
Constructor
new Debouncer<TFn>(fn, initialOptions): Debouncer<TFn>;Defined in: debouncer.ts:150
Parameters
fn
TFn
initialOptions
DebouncerOptions<TFn>
Returns
Debouncer<TFn>
Properties
fn
fn: TFn;Defined in: debouncer.ts:151
key
key: string | undefined;Defined in: debouncer.ts:146
options
options: DebouncerOptions<TFn>;Defined in: debouncer.ts:147
store
readonly store: Store<Readonly<DebouncerState<TFn>>>;Defined in: debouncer.ts:143
Methods
cancel()
cancel(): void;Defined in: debouncer.ts:285
Cancels any pending execution
Returns
void
flush()
flush(): void;Defined in: debouncer.ts:268
Processes the current pending execution immediately
Returns
void
maybeExecute()
maybeExecute(...args): void;Defined in: debouncer.ts:221
Attempts to execute the debounced function If a call is already in progress, it will be queued
Parameters
args
...Parameters<TFn>
Returns
void
reset()
reset(): void;Defined in: debouncer.ts:296
Resets the debouncer state to its default values
Returns
void
setOptions()
setOptions(newOptions): void;Defined in: debouncer.ts:175
Updates the debouncer options
Parameters
newOptions
Partial<DebouncerOptions<TFn>>
Returns
void