Definiert in: async-batcher.ts:230
Eine Klasse, die Elemente sammelt und sie asynchron in Batches verarbeitet.
Dies ist die asynchrone Version der Batcher-Klasse. Im Gegensatz zur synchronen Version verarbeitet dieser asynchrone Batcher
Batching ist eine Technik, um mehrere Operationen zu gruppieren, die als eine einzige Einheit verarbeitet werden.
Der AsyncBatcher bietet eine flexible Möglichkeit, asynchrones Batching mit konfigurierbaren Einstellungen zu implementieren.
Fehlerbehandlung
Zustandsverwaltung
const batcher = new AsyncBatcher<number>(
async (items) => {
const result = await processItems(items);
console.log('Processing batch:', items);
return result;
},
{
maxSize: 5,
wait: 2000,
onSuccess: (result) => console.log('Batch succeeded:', result),
onError: (error) => console.error('Batch failed:', error)
}
);
batcher.addItem(1);
batcher.addItem(2);
// After 2 seconds or when 5 items are added, whichever comes first,
// the batch will be processed and the result will be available
// batcher.execute() // manually trigger a batch
const batcher = new AsyncBatcher<number>(
async (items) => {
const result = await processItems(items);
console.log('Processing batch:', items);
return result;
},
{
maxSize: 5,
wait: 2000,
onSuccess: (result) => console.log('Batch succeeded:', result),
onError: (error) => console.error('Batch failed:', error)
}
);
batcher.addItem(1);
batcher.addItem(2);
// After 2 seconds or when 5 items are added, whichever comes first,
// the batch will be processed and the result will be available
// batcher.execute() // manually trigger a batch
• TValue
new AsyncBatcher<TValue>(fn, initialOptions): AsyncBatcher<TValue>
new AsyncBatcher<TValue>(fn, initialOptions): AsyncBatcher<TValue>
Definiert in: async-batcher.ts:238
(items) => Promise<any>
AsyncBatcherOptions<TValue>
AsyncBatcher<TValue>
fn: (items) => Promise<any>;
fn: (items) => Promise<any>;
Definiert in: async-batcher.ts:239
TValue[]
Promise<any>
key: string;
key: string;
Definiert in: async-batcher.ts:234
options: AsyncBatcherOptionsWithOptionalCallbacks<TValue>;
options: AsyncBatcherOptionsWithOptionalCallbacks<TValue>;
Definiert in: async-batcher.ts:235
readonly store: Store<Readonly<AsyncBatcherState<TValue>>>;
readonly store: Store<Readonly<AsyncBatcherState<TValue>>>;
Definiert in: async-batcher.ts:231
addItem(item): void
addItem(item): void
Definiert in: async-batcher.ts:297
Fügt ein Element zum asynchronen Batcher hinzu. Wenn die Batch-Größe erreicht ist, ein Timeout auftritt oder shouldProcess true zurückgibt, wird der Batch verarbeitet.
TValue
void
clear(): void
clear(): void
Definiert in: async-batcher.ts:398
Entfernt alle Elemente aus dem asynchronen Batcher.
void
flush(): Promise<any>
flush(): Promise<any>
Definiert in: async-batcher.ts:372
Verarbeitet den aktuellen Batch von Elementen sofort.
Promise<any>
peekAllItems(): TValue[]
peekAllItems(): TValue[]
Definiert in: async-batcher.ts:380
Gibt eine Kopie aller Elemente im asynchronen Batcher zurück.
TValue[]
peekFailedItems(): TValue[]
peekFailedItems(): TValue[]
Definiert in: async-batcher.ts:384
TValue[]
reset(): void
reset(): void
Definiert in: async-batcher.ts:405
Setzt den Zustand des asynchronen Batchers auf seine Standardwerte zurück.
void
setOptions(newOptions): void
setOptions(newOptions): void
Definiert in: async-batcher.ts:260
Aktualisiert die Optionen des asynchronen Batchers.
Partial<AsyncBatcherOptions<TValue>>
void
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.