← Tous les chapitresChapitre 7 · ~30 min

Données asynchrones

Charger des données à distance et gérer les états d’attente et d’erreur.

Svelte affiche trois états d’une promesse : en attente, réussie ou en erreur.

  • Une variable promise peut être construite directement dans le script.
  • {:then resultat} rend les données une fois résolues.
  • {:catch erreur} porte le message en cas de rejet.
src/routes/+page.sveltesvelte
let posts = fetch('/api/posts').then((r) => r.json())

{#await posts}
  <p>Chargement…</p>
{:then liste}
  <ul>
    {#each liste as post}
      <li>{post.titre}</li>
    {/each}
  </ul>
{:catch erreur}
  <p class='err'>Erreur : {erreur.message}</p>
{/await}