将 onmount json 传递给变量

Pass onmount json to variable

我正在使用 Svelte onMount 获取 json。我在 onMount 语句之外获取 return json 时遇到问题。

这就是我使用 onMount 获取 JSON 的方式:

let testData = [];
    onMount(async () =>{
        const resp = await fetch('http://localhost:3000/api/tableinfo.json');
        testData = await resp.json();    
        console.log(testData);    //Returns me array of objects
    });

Console.log(testData) // return me []

如何传递对象数组并将其存储在 testData 中,以便我可以使用另一个文件中的数组调用 testData?

谢谢。

在您的代码中,行 console.log(testData) 将在组件实例化时执行,即 onMount 运行 之前,预期值为 []。安装组件后,onMount 运行、testData 将具有正确的值。您可以轻松尝试添加以下行:

$: console.log(testData)

这条语句会运行每次testData都会改变,你会在控制台看到两行,第一行的初始值为空数组,其次是您的 json 获取结果。

[]
[...]