인터페이스: AsyncRetryerOptions<TFn>
정의 위치: async-retryer.ts:59
타입 매개변수
TFn
TFn은 AnyAsyncFunction을 확장합니다.
속성
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<TFn>
반환값
void
onError()?
optional onError: (error, args, retryer) => void;
정의 위치: async-retryer.ts:125
실행 중 오류가 발생할 때마다 호출되는 콜백입니다(재시도 포함).
매개변수
error
Error
args
Parameters<TFn>
retryer
AsyncRetryer<TFn>
반환값
void
onExecutionTimeout()?
optional onExecutionTimeout: (retryer) => void;
정의 위치: async-retryer.ts:133
단일 실행 시도가 시간 초과될 때 호출되는 콜백입니다(maxExecutionTime 초과).
매개변수
retryer
AsyncRetryer<TFn>
반환값
void
onLastError()?
optional onLastError: (error, retryer) => void;
정의 위치: async-retryer.ts:137
모든 재시도를 소진한 후 최종 오류가 발생할 때 호출되는 콜백입니다.
매개변수
error
Error
retryer
AsyncRetryer<TFn>
반환값
void
onRetry()?
optional onRetry: (attempt, error, retryer) => void;
정의 위치: async-retryer.ts:141
각 재시도 전에 호출되는 콜백입니다.
매개변수
attempt
number
error
Error
retryer
AsyncRetryer<TFn>
반환값
void
onSettled()?
optional onSettled: (args, retryer) => void;
정의 위치: async-retryer.ts:145
각 시도의 실행이 완료된 후 호출되는 콜백입니다(성공 또는 실패).
매개변수
args
Parameters<TFn>
retryer
AsyncRetryer<TFn>
반환값
void
onSuccess()?
optional onSuccess: (result, args, retryer) => void;
정의 위치: async-retryer.ts:149
실행이 성공할 때 호출되는 콜백입니다.
매개변수
result
Awaited<ReturnType<TFn>>
args
Parameters<TFn>
retryer
AsyncRetryer<TFn>
반환값
void
onTotalExecutionTimeout()?
optional onTotalExecutionTimeout: (retryer) => void;
정의 위치: async-retryer.ts:157
총 실행 시간이 시간 초과될 때 호출되는 콜백입니다(maxTotalExecutionTime 초과).
매개변수
retryer
AsyncRetryer<TFn>
반환값
void
throwOnError?
optional throwOnError: boolean | "last";
정의 위치: async-retryer.ts:165
오류를 던지는 시점을 제어합니다.
- 'last': 모든 재시도를 소진한 후 최종 오류만 던집니다.
- true: 모든 오류를 즉시 던집니다(재시도 비활성화).
- false: 오류를 던지지 않고 대신 undefined를 반환합니다.
기본값
'last'