为了账号安全,请及时绑定邮箱和手机立即绑定

d3 javascript中的变量范围

d3 javascript中的变量范围

慕标5832272 2019-08-13 17:24:08
d3 javascript中的变量范围我想通过使用以下代码获取全局变量中的数据:var data;d3.json ( "file.json" , function(json) {   data = json;   console.log(data); //defined});console.log(data); //undefined但问题是我只是在d3.json函数中定义了数据变量,但是它是未定义的。我该如何解决这个问题?
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

因为d3请求(例如d3.json)是异步的,所以最好在请求回调中包装依赖于外部请求的所有代码,确保此代码在执行之前可以访问数据。从D3文档:“异步加载数据时,依赖于加载数据的代码通常应存在于回调函数中。”

因此,一种选择是将所有代码放在回调函数中。如果您想将代码分成几部分,您还可以将请求中的响应传递给单独的函数,如下所示:

function myFunc(data) {
    console.log(data);}d3.json('file.json', function (data) {
    var json = data;
    myFunc(json);});


查看完整回答
反对 回复 2019-08-13
  • 1 回答
  • 0 关注
  • 302 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信