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

Batcher

Klasse: Batcher<TValue>

Definiert in: batcher.ts:144

Eine Klasse, die Elemente sammelt und sie in Batches verarbeitet.

Batching ist eine Technik zum Gruppieren mehrerer Operationen, die als eine einzige Einheit verarbeitet werden.

Der Batcher bietet eine flexible Möglichkeit, Batching mit konfigurierbaren

  • Maximaler Batch-Größe (Anzahl der Elemente pro Batch)
  • Zeitbasierte Batching (Verarbeitung nach X Millisekunden)
  • Benutzerdefinierte Batch-Verarbeitungslogik über getShouldExecute
  • Event-Callbacks zur Überwachung von Batch-Operationen

Zustandsverwaltung

  • Verwendet TanStack Store für reaktives Zustandsmanagement
  • Verwenden Sie initialState, um initiale Zustandswerte bei der Erstellung des Batchers bereitzustellen
  • Verwenden Sie den onExecute-Callback, um auf Batch-Ausführungen zu reagieren und benutzerdefinierte Logik zu implementieren
  • Verwenden Sie den onItemsChange-Callback, um auf das Hinzufügen oder Entfernen von Elementen aus dem Batcher zu reagieren
  • Der Zustand umfasst die Anzahl der Batch-Ausführungen, die Gesamtanzahl der verarbeiteten Elemente, die Elemente und den laufenden Status
  • Der Zustand kann über batcher.store.state zugegriffen werden, wenn die Klasse direkt verwendet wird
  • Bei Verwendung von Framework-Adaptern (React/Solid) wird auf den Zustand über batcher.state zugegriffen

Beispiel

ts
const batcher = new Batcher<number>(
  (items) => console.log('Processing batch:', items),
  {
    maxSize: 5,
    wait: 2000,
    onExecute: (batch, batcher) => console.log('Batch executed:', batch)
  }
);

batcher.addItem(1);
batcher.addItem(2);
// After 2 seconds or when 5 items are added, whichever comes first,
// the batch will be processed
// batcher.flush() // manually trigger a batch
const batcher = new Batcher<number>(
  (items) => console.log('Processing batch:', items),
  {
    maxSize: 5,
    wait: 2000,
    onExecute: (batch, batcher) => console.log('Batch executed:', batch)
  }
);

batcher.addItem(1);
batcher.addItem(2);
// After 2 seconds or when 5 items are added, whichever comes first,
// the batch will be processed
// batcher.flush() // manually trigger a batch

Typparameter

TValue

Konstruktoren

new Batcher()

ts
new Batcher<TValue>(fn, initialOptions): Batcher<TValue>
new Batcher<TValue>(fn, initialOptions): Batcher<TValue>

Definiert in: batcher.ts:152

Parameter

fn

(items) => void

initialOptions

BatcherOptions<TValue>

Gibt zurück

Batcher<TValue>

Eigenschaften

fn()

ts
fn: (items) => void;
fn: (items) => void;

Definiert in: batcher.ts:153

Parameter

items

TValue[]

Gibt zurück

void


key

ts
key: string;
key: string;

Definiert in: batcher.ts:148


optionen

ts
options: BatcherOptionsWithOptionalCallbacks<TValue>;
options: BatcherOptionsWithOptionalCallbacks<TValue>;

Definiert in: batcher.ts:149


store

ts
readonly store: Store<Readonly<BatcherState<TValue>>>;
readonly store: Store<Readonly<BatcherState<TValue>>>;

Definiert in: batcher.ts:145

Methoden

addItem()

ts
addItem(item): void
addItem(item): void

Definiert in: batcher.ts:204

Fügt ein Element zum Batcher hinzu. Wenn die Batch-Größe erreicht ist, ein Timeout auftritt oder shouldProcess true zurückgibt, wird der Batch verarbeitet.

Parameter

item

TValue

Gibt zurück

void


clear()

ts
clear(): void
clear(): void

Definiert in: batcher.ts:274

Entfernt alle Elemente aus dem Batcher.

Gibt zurück

void


flush()

ts
flush(): void
flush(): void

Definiert in: batcher.ts:252

Verarbeitet den aktuellen Batch von Elementen sofort.

Gibt zurück

void


peekAllItems()

ts
peekAllItems(): TValue[]
peekAllItems(): TValue[]

Definiert in: batcher.ts:260

Gibt eine Kopie aller Elemente im Batcher zurück.

Gibt zurück

TValue[]


reset()

ts
reset(): void
reset(): void

Definiert in: batcher.ts:281

Setzt den Zustand des Batchers auf seine Standardwerte zurück.

Gibt zurück

void


setOptions()

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

Definiert in: batcher.ts:173

Aktualisiert die Optionen des Batchers.

Parameter

newOptions

Partial<BatcherOptions<TValue>>

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.