斯维尔特:如何仅在未履行承诺时显示某些东西?

Svelte's tutorial on await blocks and promises中,它们显示了在等待/解决/拒绝诺言时如何显示特定文本。

但是当未加载时,如何显示元素?即当诺言已经解决或被拒绝时(当然,{:then}和{:catch}中的按钮都没有重复)

我想要做的是以下事情:

{#await promise}
{:then number}
    <MyElement />
{:catch error}
    <MyElement />
{/await}

但不要重复<MyElement />

l787922411 回答:斯维尔特:如何仅在未履行承诺时显示某些东西?

根据Promises API(and this question,尚无现成的方法来了解诺言是否已解决)

您可以创建一个标志,该标志将在解决诺言时更新,例如

// in <script>
let resolved;
promise.then(x => resolved = true).catch(x => resolved = true);

最后,做

{#if resolved}
 <MyElement />
{/if}
本文链接:https://www.f2er.com/3110088.html

大家都在问