Leak-free cancellation
작업이 끝나거나 중단되면 모든 타이머와 AbortSignal 리스너를 정리합니다.
실패·지연·중복·폭주를 다루는 TypeScript 비동기 프리미티브. 작게 가져오고, 원하는 순서로 조합하고, 어디서든 취소하세요.
0
runtime dependencies
10
async primitives
2
ESM + CJS outputs
100%
typed surface
Primitive lab
서로 다른 라이브러리를 붙이는 대신 같은 규칙과 같은 취소 모델을 공유하는 프리미티브를 선택하세요.
import { retry } from 'asyncraft';
const user = await retry(
() => fetchUser(id),
{
retries: 4,
minDelay: 120,
jitter: true,
signal
}
);Built-in guarantees
작업이 끝나거나 중단되면 모든 타이머와 AbortSignal 리스너를 정리합니다.
동시 실행 중에도 asyncMap 결과는 항상 입력 순서를 보존합니다.
TimeoutError·RetryError·CircuitOpenError를 명확하게 구분하고 원인을 보존합니다.
Composable by design
circuitBreaker
retry
withTimeout
asyncMap
$ compose resilient request
제로 의존성, 완전한 타입, 취소 가능한 모든 대기. 지금 사용하는 프로젝트에 바로 추가해 보세요.