Svelte5.36 以降、コンポーネント内のうち、これまで使えなかった3箇所で `await` キーワードを使えるようになりました: - コンポーネントの `

{a} + {b} = {await add(a, b)}

``` ...`a` の値をインクリメントしても、 `

` の内容は次のようには _なりません。_ ```html

2 + 2 = 3

``` 実際には、`add(a, b)`が解決されたときに、`

`の内容を `2 + 2 = 4` に更新します。 更新は重複することがあります。先行する更新が遅く、まだ進行中であっても、続く更新が速ければ、速いほうが先にUIに反映されます。 ## 並行性 Svelte は可能な限り非同期処理を並行におこないます。例えば、マークアップ内に2つの `await` 式があるとき... ```svelte

{await one(x)}

{await two(y)}

``` ...それらは独立した式ですので、 _見た目上は_ 順次実行されているように見えても、両方の関数が同時に実行されます。 これは、` {#if open} open = false} /> {/if} ``` ## 注意事項 実験的な機能であるため、 `await` 扱いの詳細(および `$effect.pending()` のような関連API)は、セマンティックバージョニングのメジャーリリース外では破壊的変更がおこなわれる可能性があります。ただし、そのような変更は最小限に抑えるつもりです。 ## 破壊的変更 `experimental.async` オプションが `true` のとき、効果の実行順序がわずかに異なります。具体的には、 `{#if ...}` や `{#each ...}` のような _ブロック_ の効果を、 `$effect.pre` や `beforeUpdate` の前に実行するようになります。これにより、非常にまれな状況。