[英]how to access json object after loading it in d3
我使用d3.json加载了json对象,并将加载的json文件分配给全局变量,但是当我将全局变量打印到控制台时,它返回未定义,但是当我在chrome控制台中键入全局变量时,它返回了我需要的它来。 本质上,我只是想加载json对象,以便能够在d3.json函数之外使用它。 这似乎是一个相对简单的任务,但是我是js / d3 newby,所以对您的帮助非常感谢!
谢谢!
下面提供了代码
<script type = "text/javascript" source='https://d3js.org/d3.v4.min.js'>
var gapminder;
d3.json("D3_jsondata.json", function(data){
gapminder = data;
});
//above prints in console when i type in gapminder
console.log(gapminder);//prints as 'undefined' in Chrome's console
</script>
调用.json()可以为尚未加载的http响应的正文提供保证。 尝试在json的回调中开始渲染!
对于d3.json , d3.csv和d3.tsv是异步请求函数,因此console.log()将在d3.json()之前运行,其中“ gapminder”仍未定义 。
在console.log()之后,它是d3.json()的术语,您需要为json数据分配一个“ gapminder”,所以它不再是未定义的 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.