Toris Blog
홈
블로그
프로젝트
할일 관리
소개
문의
홈
블로그
프로젝트
소개
문의
Toris Blog

Next.js, React, TypeScript로 만드는 모던 웹 개발 블로그

페이지

소개블로그프로젝트

소셜

© 2026 Toris-dev. All rights reserved.

All projects
npm · v0.2.0 · zero dependencies

Async flows,crafted to survive.

실패·지연·중복·폭주를 다루는 TypeScript 비동기 프리미티브. 작게 가져오고, 원하는 순서로 조합하고, 어디서든 취소하세요.

View on npm GitHub
$npm install asyncraft
asyncraftresilience core

0

runtime dependencies

10

async primitives

2

ESM + CJS outputs

100%

typed surface

Primitive lab

문제를 고르면, 조합할 코드가 보입니다.

서로 다른 라이브러리를 붙이는 대신 같은 규칙과 같은 취소 모델을 공유하는 프리미티브를 선택하세요.

resilient-request.ts
import { retry } from 'asyncraft';

const user = await retry(
  () => fetchUser(id),
  {
    retries: 4,
    minDelay: 120,
    jitter: true,
    signal
  }
);

Built-in guarantees

가벼운 패키지, 무겁게 검증된 동작.

Leak-free cancellation

작업이 끝나거나 중단되면 모든 타이머와 AbortSignal 리스너를 정리합니다.

Stable ordering

동시 실행 중에도 asyncMap 결과는 항상 입력 순서를 보존합니다.

Typed failures

TimeoutError·RetryError·CircuitOpenError를 명확하게 구분하고 원인을 보존합니다.

Composable by design

한 번의 요청, 네 겹의 안전망.

LAYER 01

circuitBreaker

LAYER 02

retry

LAYER 03

withTimeout

LAYER 04

asyncMap

$ compose resilient request

비동기 흐름의 기본 장비를 하나로.

제로 의존성, 완전한 타입, 취소 가능한 모든 대기. 지금 사용하는 프로젝트에 바로 추가해 보세요.

Install asyncraftMore projects