function throttle<TFn>(fn, initialOptions): (...args) => void
function throttle<TFn>(fn, initialOptions): (...args) => void
Definiert in: throttler.ts:355
Erstellt eine gedrosselte Funktion, die begrenzt, wie oft die bereitgestellte Funktion ausgeführt werden kann.
Drosselung stellt sicher, dass eine Funktion höchstens einmal innerhalb eines bestimmten Zeitfensters ausgeführt wird, unabhängig davon, wie oft sie aufgerufen wird. Dies ist nützlich für die Ratenbegrenzung teurer Operationen oder UI-Aktualisierungen.
Die gedrosselte Funktion kann so konfiguriert werden, dass sie am Anfang und/oder am Ende des Drosselungsfensters über Optionen ausgeführt wird.
Für die Handhabung von Ereignisstößen sollten Sie stattdessen debounce() verwenden. Für harte Ausführungslimits sollten Sie rateLimit() verwenden.
Zustandsverwaltung
• TFn erweitert AnyFunction
TFn
ThrottlerOptions<TFn>
Funktion
Versucht, die gedrosselte Funktion auszuführen. Das Ausführungsverhalten hängt von den Throttler-Optionen ab
Wenn seit der letzten Ausführung genügend Zeit vergangen ist (>= Wartezeit)
Wenn innerhalb der Wartezeit
...Parameters<TFn>
void
const throttled = new Throttler(fn, { wait: 1000 });
// First call executes immediately
throttled.maybeExecute('a', 'b');
// Call during wait period - gets throttled
throttled.maybeExecute('c', 'd');
const throttled = new Throttler(fn, { wait: 1000 });
// First call executes immediately
throttled.maybeExecute('a', 'b');
// Call during wait period - gets throttled
throttled.maybeExecute('c', 'd');
// Basic throttling - max once per second
const throttled = throttle(updateUI, { wait: 1000 });
// Configure leading/trailing execution
const throttled = throttle(saveData, {
wait: 2000,
leading: true, // Execute immediately on first call
trailing: true // Execute again after delay if called during wait
});
// Basic throttling - max once per second
const throttled = throttle(updateUI, { wait: 1000 });
// Configure leading/trailing execution
const throttled = throttle(saveData, {
wait: 2000,
leading: true, // Execute immediately on first call
trailing: true // Execute again after delay if called during wait
});
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.