```svelte {#await expression}...{:then name}...{:catch name}...{/await} ``` ```svelte {#await expression}...{:then name}...{/await} ``` ```svelte {#await expression then name}...{/await} ``` ```svelte {#await expression catch name}...{/await} ``` Les blocs `await` vous permettent de gérer les trois états possible d'une [`Promise`](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) (_promesse_) — en attente, résolue, ou rejetée. ```svelte {#await promise}

en attente de la résolution de la promesse...

{:then value}

La valeur vaut {value}

{:catch error}

Quelque chose s'est mal passé : {error.message}

{/await} ``` > [!NOTE] Lors du rendu côté serveur, seule la branche d'attente sera considérée. > > Si l'expression fournie n'est pas une `Promise`, seule la branche `:then` sera considérée, même > lors du rendu côté serveur. Le bloc `catch` peut être omis si vous n'avez pas besoin d'afficher quoi que ce soit lors que la promesse est rejetée (ou si aucune erreur n'est possible). ```svelte {#await promise}

en attente de la résolution de la promesse...

{:then value}

La valeur vaut {value}

{/await} ``` Si l'état d'attente ne vous intéresse pas, vous pouvez aussi ignorer le bloc initial. ```svelte {#await promise then value}

La valeur vaut {value}

{/await} ``` De même, si vous souhaitez uniquement afficher l'état d'erreur, vous pouvez ignorer le bloc `then`. ```svelte {#await promise catch error}

Voici l'erreur : {error}

{/await} ``` > [!NOTE] Vous pouvez utiliser `#await` avec > [`import(...)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) > pour afficher des composants de manière différée : > > ```svelte > {#await import('./Component.svelte') then { default: Component }} > > {/await} > ```