javascript - Svelte:如何仅在 promise 未挂起时显示某些内容?

标签 javascript svelte svelte-3

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/

相关文章:

javascript - react-router 中的 plainRoute 对象与 JSX

javascript - _setCustomVar 相当于 analytics.js

javascript - 如何从angularjs中的表单中查找名字和姓氏?

javascript - Uncaught Error : Script error for: durandal/router

Svelte - 如何在模板中使用方法?

svelte - 如何在 SvelteKit 中以编程方式路由?

svelte - 如何将响应式 Prop 从 SvelteKit __layout 文件传递​​到托管在其插槽之一中的页面?

environment-variables - 如何在 Svelte 中加载环境变量

Svelte - 输入值并不总是更新

typescript - slim 的 3 typescript : Unexpected tokensvelte(parse-error)