Definiert in: throttler.ts:137
Eine Klasse, die eine gedrosselte Funktion erstellt.
Drosselung stellt sicher, dass eine Funktion höchstens einmal innerhalb eines bestimmten Zeitfensters aufgerufen wird. Im Gegensatz zum Debouncing, das auf eine Pause bei den Aufrufen wartet, garantiert die Drosselung eine konsistente Ausführungszeit unabhängig von der Aufrufhäufigkeit.
Unterstützt sowohl Ausführung am Anfang als auch am Ende
Für das Zusammenfassen von schnellen Ereignissen, bei denen Sie nur am letzten Aufruf interessiert sind, sollten Sie Debouncer verwenden.
Zustandsverwaltung
const throttler = new Throttler(
(id: string) => api.getData(id),
{ wait: 1000 } // Execute at most once per second
);
// First call executes immediately
throttler.maybeExecute('123');
// Subsequent calls within 1000ms are throttled
throttler.maybeExecute('123'); // Throttled
const throttler = new Throttler(
(id: string) => api.getData(id),
{ wait: 1000 } // Execute at most once per second
);
// First call executes immediately
throttler.maybeExecute('123');
// Subsequent calls within 1000ms are throttled
throttler.maybeExecute('123'); // Throttled
• TFn erweitert AnyFunction
new Throttler<TFn>(fn, initialOptions): Throttler<TFn>
new Throttler<TFn>(fn, initialOptions): Throttler<TFn>
Definiert in: throttler.ts:145
TFn
ThrottlerOptions<TFn>
Throttler<TFn>
fn: TFn;
fn: TFn;
Definiert in: throttler.ts:146
key: undefined | string;
key: undefined | string;
Definiert in: throttler.ts:141
options: ThrottlerOptions<TFn>;
options: ThrottlerOptions<TFn>;
Definiert in: throttler.ts:142
readonly store: Store<Readonly<ThrottlerState<TFn>>>;
readonly store: Store<Readonly<ThrottlerState<TFn>>>;
Definiert in: throttler.ts:138
cancel(): void
cancel(): void
Definiert in: throttler.ts:305
Bricht jede ausstehende nachfolgende Ausführung ab und löscht den internen Zustand.
Wenn eine nachfolgende Ausführung geplant ist (aufgrund der Drosselung mit trailing=true), wird diese Ausführung verhindert. Der interne Timeout und die gespeicherten Argumente werden gelöscht.
Hat keine Auswirkung, wenn keine Ausführung aussteht.
void
flush(): void
flush(): void
Definiert in: throttler.ts:283
Verarbeitet die aktuelle ausstehende Ausführung sofort
void
maybeExecute(...args): void
maybeExecute(...args): void
Definiert in: throttler.ts:224
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');
reset(): void
reset(): void
Definiert in: throttler.ts:316
Setzt den Zustand des Throttlers auf seine Standardwerte zurück.
void
setOptions(newOptions): void
setOptions(newOptions): void
Definiert in: throttler.ts:166
Aktualisiert die Optionen des Throttlers.
Partial<ThrottlerOptions<TFn>>
void
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.