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

AsyncBatcherOptions

Interface: AsyncBatcherOptions<TValue>

Defined in: async-batcher.ts:82

Options for configuring an AsyncBatcher instance

Type Parameters

TValue

Properties

getShouldExecute()?

ts
optional getShouldExecute: (items, batcher) => boolean;
optional getShouldExecute: (items, batcher) => boolean;

Defined in: async-batcher.ts:87

Custom function to determine if a batch should be processed Return true to process the batch immediately

Parameters

items

TValue[]

batcher

AsyncBatcher<TValue>

Returns

boolean


initialState?

ts
optional initialState: Partial<AsyncBatcherState<TValue>>;
optional initialState: Partial<AsyncBatcherState<TValue>>;

Defined in: async-batcher.ts:94

Initial state for the async batcher


key?

ts
optional key: string;
optional key: string;

Defined in: async-batcher.ts:99

Optional key to identify this async batcher instance. If provided, the async batcher will be identified by this key in the devtools and PacerProvider if applicable.


maxSize?

ts
optional maxSize: number;
optional maxSize: number;

Defined in: async-batcher.ts:104

Maximum number of items in a batch

Default

ts
Infinity
Infinity

onError()?

ts
optional onError: (error, batch, batcher) => void;
optional onError: (error, batch, batcher) => void;

Defined in: async-batcher.ts:110

Optional error handler for when the batch function throws. If provided, the handler will be called with the error, the batch of items that failed, and batcher instance. This can be used alongside throwOnError - the handler will be called before any error is thrown.

Parameters

error

unknown

batch

TValue[]

batcher

AsyncBatcher<TValue>

Returns

void


onItemsChange()?

ts
optional onItemsChange: (batcher) => void;
optional onItemsChange: (batcher) => void;

Defined in: async-batcher.ts:118

Callback fired after items are added to the batcher

Parameters

batcher

AsyncBatcher<TValue>

Returns

void


onSettled()?

ts
optional onSettled: (batch, batcher) => void;
optional onSettled: (batch, batcher) => void;

Defined in: async-batcher.ts:122

Optional callback to call when a batch is settled (completed or failed)

Parameters

batch

TValue[]

batcher

AsyncBatcher<TValue>

Returns

void


onSuccess()?

ts
optional onSuccess: (result, batch, batcher) => void;
optional onSuccess: (result, batch, batcher) => void;

Defined in: async-batcher.ts:126

Optional callback to call when a batch succeeds

Parameters

result

any

batch

TValue[]

batcher

AsyncBatcher<TValue>

Returns

void


started?

ts
optional started: boolean;
optional started: boolean;

Defined in: async-batcher.ts:135

Whether the batcher should start processing immediately

Default

ts
true
true

throwOnError?

ts
optional throwOnError: boolean;
optional throwOnError: boolean;

Defined in: async-batcher.ts:141

Whether to throw errors when they occur. Defaults to true if no onError handler is provided, false if an onError handler is provided. Can be explicitly set to override these defaults.


wait?

ts
optional wait: number | (asyncBatcher) => number;
optional wait: number | (asyncBatcher) => number;

Defined in: async-batcher.ts:148

Maximum time in milliseconds to wait before processing a batch. If the wait duration has elapsed, the batch will be processed. If not provided, the batch will not be triggered by a timeout.

Default

ts
Infinity
Infinity