📄 tanstack/pacer/latest/docs/reference/interfaces/AsyncRetryerOptions

File: AsyncRetryerOptions.md | Updated: 11/15/2025

Source: https://tanstack.com/pacer/latest/docs/reference/interfaces/AsyncRetryerOptions



TanStack

Pacer v0v0

Search...

+ K

Auto

Log In

TanStack StartRC

Docs Examples GitHub Contributors

TanStack Router

Docs Examples GitHub Contributors

TanStack Query

Docs Examples GitHub Contributors

TanStack Table

Docs Examples Github Contributors

TanStack Formnew

Docs Examples Github Contributors

TanStack DBbeta

Docs Github Contributors

TanStack Virtual

Docs Examples Github Contributors

TanStack Paceralpha

Docs Examples Github Contributors

TanStack Storealpha

Docs Examples Github Contributors

TanStack Devtoolsalpha

Docs Github Contributors

More Libraries

Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide

Documentation

Framework

React logo

React

Version

Latest

Search...

+ K

Menu

Getting Started

Guides

API Reference

Debouncer API Reference

Throttler API Reference

Rate Limiter API Reference

Queue API Reference

Batcher API Reference

Debouncer Examples

Throttler Examples

Rate Limiter Examples

Queue Examples

Batcher Examples

TanStack Query Examples

Framework

React logo

React

Version

Latest

Menu

Getting Started

Guides

API Reference

Debouncer API Reference

Throttler API Reference

Rate Limiter API Reference

Queue API Reference

Batcher API Reference

Debouncer Examples

Throttler Examples

Rate Limiter Examples

Queue Examples

Batcher Examples

TanStack Query Examples

On this page

AsyncRetryerOptions

Copy Markdown

Interface: AsyncRetryerOptions<TFn>
===================================

Defined in: async-retryer.ts:60

Type Parameters
---------------
### TFn

TFn extends AnyAsyncFunction

Properties
----------
### backoff?

ts

optional backoff: "linear" | "exponential" | "fixed";


optional backoff: "linear" | "exponential" | "fixed";

Defined in: async-retryer.ts:68

The backoff strategy for retry delays:

  • 'exponential': Wait time doubles with each attempt (1s, 2s, 4s, ...)
  • 'linear': Wait time increases linearly (1s, 2s, 3s, ...)
  • 'fixed': Same wait time for all attempts

#### Default

ts

'exponential'


'exponential'

### baseWait?

ts

optional baseWait: number | (retryer) => number;


optional baseWait: number | (retryer) => number;

Defined in: async-retryer.ts:73

Base wait time in milliseconds between retries, or a function that returns the wait time

#### Default

ts

1000


1000

### enabled?

ts

optional enabled: boolean | (retryer) => boolean;


optional enabled: boolean | (retryer) => boolean;

Defined in: async-retryer.ts:78

Whether the retryer is enabled, or a function that determines if it's enabled

#### Default

ts

true


true

### initialState?

ts

optional initialState: Partial<AsyncRetryerState<TFn>>;


optional initialState: Partial<AsyncRetryerState<TFn>>;

Defined in: async-retryer.ts:82

Initial state to merge with the default state


### jitter?

ts

optional jitter: number;


optional jitter: number;

Defined in: async-retryer.ts:87

Jitter percentage to add to retry delays (0-1). Adds randomness to prevent thundering herd.

#### Default

ts

0


0

### key?

ts

optional key: string;


optional key: string;

Defined in: async-retryer.ts:92

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


### maxAttempts?

ts

optional maxAttempts: number | (retryer) => number;


optional maxAttempts: number | (retryer) => number;

Defined in: async-retryer.ts:97

Maximum number of retry attempts, or a function that returns the max attempts

#### Default

ts

3


3

### maxExecutionTime?

ts

optional maxExecutionTime: number;


optional maxExecutionTime: number;

Defined in: async-retryer.ts:102

Maximum execution time in milliseconds for a single function call before aborting

#### Default

ts

Infinity


Infinity

### maxTotalExecutionTime?

ts

optional maxTotalExecutionTime: number;


optional maxTotalExecutionTime: number;

Defined in: async-retryer.ts:107

Maximum total execution time in milliseconds for the entire retry operation before aborting

#### Default

ts

Infinity


Infinity

### onAbort()?

ts

optional onAbort: (reason, retryer) => void;


optional onAbort: (reason, retryer) => void;

Defined in: async-retryer.ts:111

Callback invoked when the execution is aborted (manually or due to timeouts)

#### Parameters ##### reason

"manual" | "execution-timeout" | "total-timeout" | "new-execution"

##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onError()?

ts

optional onError: (error, args, retryer) => void;


optional onError: (error, args, retryer) => void;

Defined in: async-retryer.ts:118

Callback invoked when any error occurs during execution (including retries)

#### Parameters ##### error

Error

##### args

Parameters<TFn>

##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onExecutionTimeout()?

ts

optional onExecutionTimeout: (retryer) => void;


optional onExecutionTimeout: (retryer) => void;

Defined in: async-retryer.ts:146

Callback invoked when a single execution attempt times out (maxExecutionTime exceeded)

#### Parameters ##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onLastError()?

ts

optional onLastError: (error, retryer) => void;


optional onLastError: (error, retryer) => void;

Defined in: async-retryer.ts:126

Callback invoked when the final error occurs after all retries are exhausted

#### Parameters ##### error

Error

##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onRetry()?

ts

optional onRetry: (attempt, error, retryer) => void;


optional onRetry: (attempt, error, retryer) => void;

Defined in: async-retryer.ts:130

Callback invoked before each retry attempt

#### Parameters ##### attempt

number

##### error

Error

##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onSettled()?

ts

optional onSettled: (args, retryer) => void;


optional onSettled: (args, retryer) => void;

Defined in: async-retryer.ts:134

Callback invoked after execution completes (success or failure) of each attempt

#### Parameters ##### args

Parameters<TFn>

##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onSuccess()?

ts

optional onSuccess: (result, args, retryer) => void;


optional onSuccess: (result, args, retryer) => void;

Defined in: async-retryer.ts:138

Callback invoked when execution succeeds

#### Parameters ##### result

Awaited<ReturnType<TFn>>

##### args

Parameters<TFn>

##### retryer

AsyncRetryer <TFn>

#### Returns

void


### onTotalExecutionTimeout()?

ts

optional onTotalExecutionTimeout: (retryer) => void;


optional onTotalExecutionTimeout: (retryer) => void;

Defined in: async-retryer.ts:150

Callback invoked when the total execution time times out (maxTotalExecutionTime exceeded)

#### Parameters ##### retryer

AsyncRetryer <TFn>

#### Returns

void


### throwOnError?

ts

optional throwOnError: boolean | "last";


optional throwOnError: boolean | "last";

Defined in: async-retryer.ts:158

Controls when errors are thrown:

  • 'last': Only throw the final error after all retries are exhausted
  • true: Throw every error immediately (disables retrying)
  • false: Never throw errors, return undefined instead

#### Default

ts

'last'


'last'

Edit on GitHub

Home

Partners Become a Partner

Code RabbitCode Rabbit CloudflareCloudflare AG GridAG Grid NetlifyNetlify NeonNeon WorkOSWorkOS ClerkClerk ConvexConvex ElectricElectric SentrySentry PrismaPrisma StrapiStrapi UnkeyUnkey

scarf analytics