Javascript 将onmount json传递给变量
我使用Svelte onMount获取json。我在获取onMount语句外部的返回json时遇到问题 以下是我使用onMount获取JSON的方法:Javascript 将onmount json传递给变量,javascript,json,fetch,svelte,Javascript,Json,Fetch,Svelte,我使用Svelte onMount获取json。我在获取onMount语句外部的返回json时遇到问题 以下是我使用onMount获取JSON的方法: let testData = []; onMount(async () =>{ const resp = await fetch('http://localhost:3000/api/tableinfo.json'); testData = await resp.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,testData将具有正确的值。您可以通过添加以下行轻松地尝试此操作:
$:console.log(testData)
每当testData发生更改时,都会运行此语句,您将在控制台中看到两行代码,第一行代码的初始值为空数组,第二行代码的获取结果为json
[]
[...]
在代码中,
console.log(testData)
行将在组件实例化时执行,这是在运行onMount
之前,预期值为[]
。一旦安装了组件并运行了onMount
testData,testData将具有正确的值。您可以通过添加以下行轻松地尝试此操作:
$:console.log(testData)
每当testData发生更改时,都会运行此语句,您将在控制台中看到两行代码,第一行代码的初始值为空数组,第二行代码的获取结果为json
[]
[...]
你能添加更多的上下文吗?这能回答你的问题吗?你能添加更多的上下文吗?这能回答你的问题吗?好的,我设法看到了json获取结果。非常感谢。但是我希望它存储在testData中,这样当我将testData导出到另一个svelte文件时。由于这看起来像一个组件,您可以将其声明为正在导出:
export let testData=[]
但是如果这不是它自己的组件,您不需要所有svelte的东西,你可以简单地制作一个.js
文件来代替标题,我试过了,但没有显示出来。现在它正在显示数据。谢谢斯蒂芬!好的,我设法看到了json获取结果。非常感谢。但是我希望它存储在testData中,这样当我将testData导出到另一个svelte文件时。由于这看起来像一个组件,您可以将其声明为正在导出:export let testData=[]
但是如果这不是它自己的组件,您不需要所有svelte的东西,你可以简单地制作一个.js
文件来代替标题,我试过了,但没有显示出来。现在它正在显示数据。谢谢斯蒂芬!