Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://acme-c84a37e5.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Logo Light

Bienvenido a Tryo

Una librería moderna y tipada para el manejo de errores que hace que las operaciones asíncronas sean predecibles y resilientes.

Inicio Rápido

Empieza en menos de 5 minutos

Referencia de API

Explora la documentación completa de la API

Ejemplos

Ejemplos y patrones del mundo real

GitHub

Ver código fuente y contribuir

Características

No más bloques try-catch. Obtén uniones discriminadas con soporte completo de TypeScript.
const result = await runner.run(() => apiCall());
if (result.ok) {
  // TypeScript sabe que data está disponible
  console.log(result.data);
}
Backoff exponencial integrado con jitter para prevenir el problema de thundering herd.
await runner.run(() => unstableApi(), {
  retry: {
    maxRetries: 3,
    strategy: RetryStrategies.exponential(1000),
  }
});
Ejecuta múltiples operaciones con paralelismo controlado.
await runner.all(tasks, { 
  concurrency: 5 
});
Soporte de primera clase para AbortController y cancelación elegante.
await runner.run(() => fetch('/api', { signal }), {
  ignoreAbort: true
});

Instalación

npm install tryo

Ejemplo Rápido

import tryo from "tryo";

const runner = tryo();

const result = await runner.run(() => fetch("https://api.example.com/users"), {
  retry: {
    maxRetries: 3,
    strategy: RetryStrategies.fixed(1000),
  },
  hooks: {
    onError: (error) => console.error(error),
  }
});

if (result.ok) {
  const users = await result.data.json();
  console.log(users);
}
Consejo Pro: Usa tryo() una vez y reutilízalo en tu aplicación para un manejo de errores consistente.

Siguientes Pasos

Conceptos Principales

Aprende sobre tipos Result y normalización de errores

Integración con React

Mira cómo usarlo con hooks de React