Saltar al contenido principal

Await

  • La mayoría de aplicaciones web tienen que esperar por datos asíncronos
  • Svelte facilita esperar el valor de las promesas directamente en el HTML
App.svelte
<script>
import { roll } from './utils.ts';

let promise = $state(roll());
</script>

<button onclick={() => promise = roll()}>
roll the dice
</button>

{#await promise}
<p>...roling</p>
{:then number}
<p>you rolled a {number}!</p>
{:catch error}
<p style="color: red">error.message</p>
{/await}
  • Si se conoce que la promesa no puede fallar, se puede omitir el bloque {#catch ...}
  • También se puede omitir el primer bloque si no es necesario mostrar nada mientras se espera la respuesta
App.svelte
{#await promise then number}
<p>you rolled a {number}!</p>
{/await}