Client fetch typé

Un client fetch typé encapsule fetch dans une fonction générique qui retourne des données typées. Comme response.json() ne garantit rien à l'exécution, il faut vérifier le statut HTTP et valider ou rétrécir la forme des données avant de leur faire confiance, plutôt que de les affirmer avec une simple assertion.

Exemple

async function getJson<T>(url: string): Promise<T> {
  const r = await fetch(url);
  if (!r.ok) throw new Error(`HTTP ${r.status}`);
  return (await r.json()) as T;
}

Notions voisines

Tout le glossaire