将 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 获取结果。
[]
[...]
我正在使用 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 获取结果。
[]
[...]