【发布时间】:2019-11-18 22:15:01
【问题描述】:
我正在尝试迭代某个异步函数返回的一些值。
import { onMount } from 'svelte';
let navigation;
onMount(async function(){
navigation = FETCHER.data.navigation;
console.log(navigation);
});
然后在html中
{#await navigation}
{#each navigation.main as menuItem}
foobar
{/each}
{/await}
但是“foobar”从未曝光。
在导航里面我找到了这个数据结构:
main: (3) […]
0: Object { ID: 16, url: "http://127.0.0.1/", title: "Welcome", … }
1: Object { ID: 15, url: "http://127.0.0.1/", title: "Home", … }
2: Object { ID: 176, url: "http://127.0.0.1/test/", title: "test", … }
length: 3
我真的很好奇为什么 await 块内的任何东西都没有被渲染。我的承诺有问题吗?
旁注中可能很重要的一件事:FETCHER.data.navigation 变量是使用 wp_localize_script 从 WordPress 传递的,因此不会发出任何 fetch 调用。
感谢您提前提供任何意见。
最好, 世博
【问题讨论】:
-
什么是
FETCHER.data.navigation?承诺? -
这是一个通过 wp_localize_script 从 WordPress 注入的对象
标签: svelte