← All packages

@lacspace/retry

v1.0.2App & Utils Kit0 deps

Resilience for flaky calls — retry with exponential backoff & jitter, per-call timeouts, and a circuit breaker. Zero-dependency, isomorphic.

npm i @lacspace/retry

Usage

retry.ts
import { retry } from "@lacspace/retry";

const data = await retry(() => fetch(url).then((r) => r.json()), {
  retries: 4,
  minDelay: 300,
  shouldRetry: (err) => isTransient(err),   // don't retry 4xx
  onRetry: (err, attempt, delay) => log.warn(`retry ${attempt} in ${delay}ms`),
});

Exports 8

AbortErrorCircuitBreakerCircuitOpenErrorTimeoutErrorbackoffretryretryWithTimeoutwithTimeout

Keywords

retrybackoffexponential-backoffjittertimeoutcircuit-breaker

More in App & Utils Kit