Framework
Version
Debouncer API Referenz
Throttler API Referenz
Rate Limiter API Referenz
Queue API Referenz
Batcher API Referenz

Debouncer

Klasse: Debouncer<TFn>

Definiert in: debouncer.ts:129

Eine Klasse, die eine entprellte Funktion erstellt.

Debouncing stellt sicher, dass eine Funktion erst nach Ablauf einer bestimmten Zeitspanne seit ihrer letzten Ausführung aufgerufen wird. Dies ist nützlich für die Verarbeitung häufiger Ereignisse wie Fenstergrößenänderungen, Scroll-Ereignisse oder Eingabeänderungen, bei denen die Ausführungsrate begrenzt werden soll.

Die entprellte Funktion kann so konfiguriert werden, dass sie entweder am Anfang der Verzögerungsperiode (leading edge) oder am Ende (trailing edge, Standard) ausgeführt wird. Jeder neue Aufruf während der Wartezeit setzt den Timer zurück.

Zustandsverwaltung

  • Verwendet TanStack Store für reaktives Zustandsmanagement
  • Verwenden Sie initialState, um anfängliche Zustandswerte bei der Erstellung des Debouncers bereitzustellen
  • Verwenden Sie den Rückruf onExecute, um auf die Funktionsausführung zu reagieren und benutzerdefinierte Logik zu implementieren
  • Der Zustand umfasst canLeadingExecute, die Anzahl der Ausführungen und den isPending-Status
  • Der Zustand kann über debouncer.store.state abgerufen werden, wenn die Klasse direkt verwendet wird
  • Bei Verwendung von Framework-Adaptern (React/Solid) wird der Zustand aus debouncer.state abgerufen

Beispiel

ts
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);
});
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);
});

Typparameter

TFn erweitert AnyFunction

Konstruktoren

new Debouncer()

ts
new Debouncer<TFn>(fn, initialOptions): Debouncer<TFn>
new Debouncer<TFn>(fn, initialOptions): Debouncer<TFn>

Definiert in: debouncer.ts:137

Parameter

fn

TFn

initialOptions

DebouncerOptions<TFn>

Gibt zurück

Debouncer<TFn>

Eigenschaften

fn

ts
fn: TFn;
fn: TFn;

Definiert in: debouncer.ts:138


key

ts
key: string;
key: string;

Definiert in: debouncer.ts:133


optionen

ts
options: DebouncerOptions<TFn>;
options: DebouncerOptions<TFn>;

Definiert in: debouncer.ts:134


store

ts
readonly store: Store<Readonly<DebouncerState<TFn>>>;
readonly store: Store<Readonly<DebouncerState<TFn>>>;

Definiert in: debouncer.ts:130

Methoden

cancel()

ts
cancel(): void
cancel(): void

Definiert in: debouncer.ts:268

Bricht jede ausstehende Ausführung ab

Gibt zurück

void


flush()

ts
flush(): void
flush(): void

Definiert in: debouncer.ts:251

Verarbeitet die aktuelle ausstehende Ausführung sofort

Gibt zurück

void


maybeExecute()

ts
maybeExecute(...args): void
maybeExecute(...args): void

Definiert in: debouncer.ts:204

Versucht, die entprellte Funktion auszuführen. Wenn ein Aufruf bereits in Bearbeitung ist, wird er in die Warteschlange gestellt.

Parameter

args

...Parameters<TFn>

Gibt zurück

void


reset()

ts
reset(): void
reset(): void

Definiert in: debouncer.ts:279

Setzt den Debouncer-Zustand auf seine Standardwerte zurück

Gibt zurück

void


setOptions()

ts
setOptions(newOptions): void
setOptions(newOptions): void

Definiert in: debouncer.ts:158

Aktualisiert die Debouncer-Optionen

Parameter

newOptions

Partial<DebouncerOptions<TFn>>

Gibt zurück

void

Unsere Partner
Code Rabbit
Unkey
Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.

Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.