{#await ...}
{#await expression}...{:then name}...{:catch name}...{/await}{#await expression}...{:then name}...{/await}{#await expression then name}...{/await}{#await expression catch name}...{/await}Await 块允许你根据 Promise 的三种可能状态 — 等待中(pending)、已完成(fulfilled)或已拒绝(rejected) — 进行分支处理。
{#await promise}
<!-- promise 正在等待中 -->
<p>等待 promise 解决中...</p>
{:then value}
<!-- promise 已完成或不是一个 Promise -->
<p>值是 {value}</p>
{:catch error}
<!-- promise 被拒绝 -->
<p>出现错误: {error.message}</p>
{/await}在服务端渲染期间,只会渲染等待中分支。
如果提供的表达式不是一个
Promise,则只会渲染:then分支,包括在服务端渲染期间。
如果你不需要在 promise 被拒绝时渲染任何内容(或不可能出现错误),可以省略 catch 块。
{#await promise}
<!-- promise 正在等待中 -->
<p>等待 promise 解决中...</p>
{:then value}
<!-- promise 已完成 -->
<p>值是 {value}</p>
{/await}如果你不关心等待状态,你也可以省略初始块。
{#await promise then value}
<p>值是 {value}</p>
{/await}同样,如果你只想显示错误状态,你可以省略 then 块。
{#await promise catch error}
<p>错误是 {error}</p>
{/await}你可以将
#await和import(...)一起使用实现组件懒加载:{#await import('./Component.svelte') then { default: Component }} <Component /> {/await}
上一页 下一页