I3i*_*3i0 14 javascript json global-variables d3.js
我想通过使用以下代码获取全局变量中的数据:
var data;
d3.json ( "file.json" , function(json) {
data = json;
console.log(data); //defined
});
console.log(data); //undefined
Run Code Online (Sandbox Code Playgroud)
但问题是我只是在d3.json函数中定义了数据变量,但是它是未定义的.我该如何解决这个问题?
谢谢
小智 20
因为d3请求(例如d3.json
)是异步的,所以最好在请求回调中包装依赖于外部请求的所有代码,确保此代码在执行之前可以访问数据.从D3文档:"异步加载数据时,依赖于加载数据的代码通常应存在于回调函数中."
因此,一种选择是将所有代码放在回调函数中.如果您想将代码分成几部分,您还可以将请求中的响应传递给单独的函数,如下所示:
function myFunc(data) {
console.log(data);
}
d3.json('file.json', function (data) {
var json = data;
myFunc(json);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8070 次 |
最近记录: |