llamacppctl/example_user_prompts/coding_03_ts_retry.md

9 lines
727 B
Markdown
Raw Normal View History

Implementiere in TypeScript eine typsichere, wiederverwendbare Retry-Funktion `retry` mit exponentiellem Backoff und Jitter.
Anforderungen:
- Generisch über den Rückgabetyp der zu wiederholenden async-Funktion (`() => Promise<T>``Promise<T>`).
- Konfigurierbar: maximale Versuche, Basis-Delay, Backoff-Faktor, maximales Delay, optionales `shouldRetry(error)`-Prädikat.
- Nach dem letzten fehlgeschlagenen Versuch wird mit dem zuletzt aufgetretenen Fehler abgebrochen (kein stilles Verschlucken).
- Vitest-Tests inklusive Fake-Timers, die die Backoff-Logik und den Abbruch nach `maxAttempts` prüfen.
Begründe im Anschluss kurz die wichtigsten Designentscheidungen (u. a. warum Jitter, wie das Delay gedeckelt wird).