跳至主要內容

大多數 Web 應用程式在某個時候都必須處理非同步資料。Svelte 讓你可以輕鬆地在你的標記中直接 await Promise 的值

應用程式
{#await promise}
	<p>...rolling</p>
{:then number}
	<p>you rolled a {number}!</p>
{:catch error}
	<p style="color: red">{error.message}</p>
{/await}

只會考慮最新的 promise,這表示你不需要擔心競爭條件。

如果你知道你的 Promise 不會 reject,你可以省略 catch 區塊。如果你不希望在 Promise resolve 之前顯示任何內容,也可以省略第一個區塊

{#await promise then number}
	<p>you rolled a {number}!</p>
{/await}

在 GitHub 上編輯此頁面

上一頁 下一頁
1
2
3
4
5
6
7
8
9
10
11
12
<script>
	import { roll } from './utils.js';
 
	let promise = $state(roll());
</script>
 
<button onclick={() => promise = roll()}>
	roll the dice
</button>
 
<p>...rolling</p>