본문으로 건너뛰기

인터페이스: AsyncRetryerOptions<TFn>

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

타입 매개변수

TFn

TFnAnyAsyncFunction확장합니다.

속성

backoff?

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

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

재시도 지연에 사용할 백오프 전략입니다.

  • 'exponential': 시도할 때마다 대기 시간이 두 배로 늘어납니다(1s, 2s, 4s, ...).
  • 'linear': 대기 시간이 선형으로 늘어납니다(1s, 2s, 3s, ...).
  • 'fixed': 모든 시도에 동일한 대기 시간을 적용합니다.

기본값

'exponential'

baseWait?

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

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

재시도 사이의 기본 대기 시간(밀리초) 또는 대기 시간을 반환하는 함수입니다.

기본값

1000

enabled?

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

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

재시도 처리기의 활성화 여부 또는 활성화 여부를 결정하는 함수입니다.

기본값

true

initialState?

optional initialState: Partial<AsyncRetryerState<TFn>>;

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

기본 상태와 병합할 초기 상태입니다.


jitter?

optional jitter: number;

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

재시도 지연에 추가할 지터 비율(0-1)입니다. 동시 요청 폭주 현상을 방지하도록 무작위성을 추가합니다.

기본값

0

key?

optional key: string;

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

이 비동기 재시도 처리기 인스턴스를 식별하는 선택적 키입니다. 참고: 비동기 재시도 처리기는 현재 개발자 도구에 표시되지 않으므로 이 키는 단순한 식별자로만 사용됩니다. 재시도 처리기 인스턴스는 실행할 때마다 생성되는 경우가 많으므로 (다른 비동기 유틸리티가 내부에서 생성하는 경우 포함) 의도적으로 개발자 도구의 이벤트 버스에 등록되지 않습니다.


maxAttempts?

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

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

최대 재시도 횟수 또는 최대 시도 횟수를 반환하는 함수입니다.

기본값

3

maxExecutionTime?

optional maxExecutionTime: number;

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

단일 함수 호출을 중단하기 전까지 허용되는 최대 실행 시간(밀리초)입니다.

기본값

Infinity

maxTotalExecutionTime?

optional maxTotalExecutionTime: number;

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

전체 재시도 작업을 중단하기 전까지 허용되는 최대 총 실행 시간(밀리초)입니다.

기본값

Infinity

maxWait?

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

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

재시도 지연의 상한으로 적용할 최대 대기 시간(밀리초) 또는 최대 대기 시간을 반환하는 함수입니다.

기본값

Infinity

onAbort()?

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

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

실행이 중단될 때 호출되는 콜백입니다(수동으로 중단하거나 타임아웃으로 중단하는 경우).

매개변수

reason

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

retryer

AsyncRetryer&lt;TFn>

반환값

void


onError()?

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

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

실행 중 오류가 발생할 때마다 호출되는 콜백입니다(재시도 포함).

매개변수

error

Error

args

Parameters&lt;TFn>

retryer

AsyncRetryer&lt;TFn>

반환값

void


onExecutionTimeout()?

optional onExecutionTimeout: (retryer) => void;

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

단일 실행 시도가 시간 초과될 때 호출되는 콜백입니다(maxExecutionTime 초과).

매개변수

retryer

AsyncRetryer&lt;TFn>

반환값

void


onLastError()?

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

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

모든 재시도를 소진한 후 최종 오류가 발생할 때 호출되는 콜백입니다.

매개변수

error

Error

retryer

AsyncRetryer&lt;TFn>

반환값

void


onRetry()?

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

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

각 재시도 전에 호출되는 콜백입니다.

매개변수

attempt

number

error

Error

retryer

AsyncRetryer&lt;TFn>

반환값

void


onSettled()?

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

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

각 시도의 실행이 완료된 후 호출되는 콜백입니다(성공 또는 실패).

매개변수

args

Parameters&lt;TFn>

retryer

AsyncRetryer&lt;TFn>

반환값

void


onSuccess()?

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

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

실행이 성공할 때 호출되는 콜백입니다.

매개변수

result

Awaited&lt;ReturnType&lt;TFn>>

args

Parameters&lt;TFn>

retryer

AsyncRetryer&lt;TFn>

반환값

void


onTotalExecutionTimeout()?

optional onTotalExecutionTimeout: (retryer) => void;

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

총 실행 시간이 시간 초과될 때 호출되는 콜백입니다(maxTotalExecutionTime 초과).

매개변수

retryer

AsyncRetryer&lt;TFn>

반환값

void


throwOnError?

optional throwOnError: boolean | "last";

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

오류를 던지는 시점을 제어합니다.

  • 'last': 모든 재시도를 소진한 후 최종 오류만 던집니다.
  • true: 모든 오류를 즉시 던집니다(재시도 비활성화).
  • false: 오류를 던지지 않고 대신 undefined를 반환합니다.

기본값

'last'