在 Svelte's tutorial on await blocks and promises ,它们展示了如何在 Promise 等待/解决/拒绝时显示特定文本。
但是当某些内容未加载时,如何显示元素呢? IE。当 Promise 被解决或拒绝时(当然,无需在 {:then} 和 {:catch} 中重复按钮)
我想要做的事情如下:
{#await promise}
{:then number}
<MyElement />
{:catch error}
<MyElement />
{/await}
但没有重复<MyElement />
.
最佳答案
根据 Promises API( and this question ,没有现成的方法可以知道 Promise 是否已解决)
您可以创建一个标志,该标志会在 promise 解决时更新,例如
// in <script>
let resolved;
promise.then(x => resolved = true).catch(x => resolved = true);
最后,做
{#if resolved}
<MyElement />
{/if}
关于javascript - Svelte:如何仅在 promise 未挂起时显示某些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58837243/