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

debounce

Funktion: debounce()

ts
function debounce<TFn>(fn, initialOptions): (...args) => void
function debounce<TFn>(fn, initialOptions): (...args) => void

Definiert in: debouncer.ts:312

Erstellt eine entprellte Funktion, die das Aufrufen der bereitgestellten Funktion verzögert, bis nach einer angegebenen Wartezeit. Mehrere Aufrufe während der Wartezeit brechen frühere ausstehende Aufrufe ab und setzen den Timer zurück.

Dies ist die einfache Funktionswrapper-Implementierung, die aus der Debouncer-Klasse übernommen wurde. Wenn Sie mehr Kontrolle über das Debouncing-Verhalten benötigen, verwenden Sie die Debouncer-Klasse direkt.

Wenn die Option `leading` true ist, wird die Funktion beim ersten Aufruf sofort ausgeführt und wartet dann die Verzögerung ab, bevor eine weitere Ausführung erlaubt wird.

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 Ausführungsanzahl und den `isPending`-Status
  • Der Zustand kann über die Eigenschaft store.state der zugrunde liegenden Debouncer-Instanz aufgerufen werden
  • Bei Verwendung von Framework-Adaptern (React/Solid) wird der Zustand aus der `state`-Eigenschaft des Hooks abgerufen

Typparameter

TFn erweitert AnyFunction

Parameter

fn

TFn

initialOptions

DebouncerOptions<TFn>

Gibt zurück

Funktion

Parameter

args

...Parameters<TFn>

Gibt zurück

void

Beispiel

ts
const debounced = debounce(() => {
  saveChanges();
}, { wait: 1000 });

// Called repeatedly but executes at most once per second
inputElement.addEventListener('input', debounced);
const debounced = debounce(() => {
  saveChanges();
}, { wait: 1000 });

// Called repeatedly but executes at most once per second
inputElement.addEventListener('input', debounced);
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.