Reintentos

Este endpoint de demo falla dos veces antes de responder con éxito. Su encabezado de intento es un protocolo del demo, no un requisito para tu API.

import { Http, envelope } from "fetchzen";
let attempt = 0;
const api = Http.create(`${location.origin}/api/examples/`, {
cache: false, secure: false, preset: envelope,
fetch: (input, init) => {
const headers = new Headers(init?.headers);
headers.set("X-Demo-Attempt", String(++attempt));
return globalThis.fetch(input, { ...init, headers });
},
});
console.log(await api.get("retry", {
retry: { attempts: 2, respectRetryAfter: true },
}));
Prueba la solicitudReintentos / intentos de transporte

Solo Ejecutar envía una solicitud a la API de demostración de este sitio. Usa solo datos sintéticos; no envíes secretos ni archivos personales. Se cuentan los bytes de los archivos; no se almacenan.

Listo. No se ha enviado ninguna solicitud.

Resultado

Elige Ejecutar para ver la respuesta.
Registro de eventos
Todavía no hay eventos.

Dos reintentos permiten tres envíos. Los intentos 1 y 2 devuelven 503 con Retry-After: 0. Los hooks se ejecutan una vez por solicitud lógica; el transporte, por envío. Considera la idempotencia antes de reintentar escrituras.

Continúa con hooks o resiliencia.