본문으로 건너뛰기

함수: asyncRetry()

function asyncRetry<TFn>(fn, initialOptions): (...args) => Promise<Awaited<ReturnType<TFn>> | undefined>;

정의 위치: async-retryer.ts:667

비동기 함수의 재시도 활성화 버전을 생성합니다. execute 메서드를 반환하는 AsyncRetryer 클래스의 편의 래퍼입니다.

타입 매개변수

TFn

TFn extends AnyAsyncFunction

매개변수

fn

TFn

재시도 기능을 추가할 비동기 함수입니다.

initialOptions

AsyncRetryerOptions&lt;TFn> = {}

재시도 동작의 설정 옵션입니다.

반환값

원본 함수를 재시도 로직과 함께 실행하는 새 함수입니다.

(...args): Promise<Awaited<ReturnType<TFn>> | undefined>;

매개변수

args

...Parameters&lt;TFn>

반환값

Promise&lt;Awaited&lt;ReturnType&lt;TFn>> | undefined>

예시

// Define your async function normally
async function fetchData(url: string) {
const response = await fetch(url)
if (!response.ok) throw new Error('Request failed')
return response.json()
}

// Create retry-enabled function
const fetchWithRetry = asyncRetry(fetchData, {
maxAttempts: 3,
backoff: 'exponential',
baseWait: 1000,
jitter: 0.1
})

// Call it multiple times
const data1 = await fetchWithRetry('/api/data1')
const data2 = await fetchWithRetry('/api/data2')