javascript - Svelte:如何仅在承诺未挂起时显示某些内容?
问题描述
在Svelte 关于等待块和承诺的教程中,它们展示了如何在承诺等待/解决/拒绝时显示特定文本。
但是当某些东西没有加载时,你怎么能显示一个元素呢?即当承诺被解决或被拒绝时(当然,没有在 {:then} 和 {:catch} 中复制按钮)
我要做的是以下内容:
{#await promise}
{:then number}
<MyElement />
{:catch error}
<MyElement />
{/await}
但无需复制<MyElement />
。
解决方案
根据 Promises API(和这个问题,没有现成的方法可以知道承诺是否已解决)
您可以创建一个标志,在承诺解决时更新,例如
// in <script>
let resolved;
promise.then(x => resolved = true).catch(x => resolved = true);
最后,做
{#if resolved}
<MyElement />
{/if}
推荐阅读
- javascript - 如何在 React Navigation 中重用易于阅读和维护的屏幕?
- powershell - 需要对事件日志中的特定 USB 密钥进行 XPath 过滤
- r - 循环不适用于R中的字符列
- python - 如何在张量流中进行“四舍五入”
- android-studio - 进程'command'/Users/username/flutter/bin/flutter''以非零退出值完成 1 android studio
- verilog - 如何在 Verilog 中构建 5 位最大长度的 Galois LFSR?
- c - 如何使用 Linux 内核模块获取当前 CPU 使用率?
- ios - 如何为 LazyVGrid 实现多个单元格选择?
- inheritance - 继承从选股到联系人模型的搜索视图过滤器 - Odoo v13社区
- docker - 无法从 docker hub 拉出 graphdb-workbench