前端之家收集整理的这篇文章主要介绍了
变量范围在d3 javascript,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过使用以下
代码获取全局变量中的数据:
var data;
d3.json ( "file.json",function(json) {
data = json;
console.log(data); //defined
});
console.log(data); //undefined
但问题是我只是在d3.json函数中定义数据变量,但是它是未定义的.
我该怎么解决这个问题?
谢谢
因为d3请求(如d3.json)是异步的,所以最好的做法是在请求回调中包含所有依赖于外部请求的
代码,确保该
代码在执行前可以访问数据.
From the D3 docs:“当异步加载数据时,依赖于加载的数据的
代码通常应在回调
函数中.
所以一个选择是将所有的代码放在回调函数中.如果您想将代码分成几部分,您还可以将请求中的响应传递给单独的函数,如下所示:
function myFunc(data) {
console.log(data);
}
d3.json('file.json',function (data) {
var json = data;
myFunc(json);
}
原文链接:https://www.f2er.com/js/151067.html