【发布时间】:2020-07-28 09:27:17
【问题描述】:
我正在做一个项目,我在其中提取美国 GDP 的 API,然后根据数据创建图表。现在我正忙于问题的第一部分,因为我正在努力将 JSON 存储在一个变量中,以便我可以在我的项目的其余部分中使用它。我查看了其他一些线程,但没有找到适合我的解决方案。
下面是我当前的代码。
let jsondata =;
fetch('https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/GDP-data.json').then(
function(u){ return u.json();}
).then(
function(json){
jsondata = json;
console.log(jsondata)
}
)
console.log(jsondata)
目前,我可以在我的第二个函数中使用 console.log(json) 和 console.log(jsondata)。但是,即使我在函数之外声明了变量,它也不会使变量成为全局变量。我错过了什么?
【问题讨论】:
-
变量是全局的,你只是在它被分配之前打印它。
-
将 json 数据的 promise 存储在全局变量中,然后在每次需要数据时等待它。
标签: javascript scope fetch