d3js:d3.csv,它的数据消失了

时间:2016-04-19 15:41:30

标签: javascript asynchronous d3.js

我使用此代码:

var map_json; // in global scope
var map;
...
function get_data() {
   map_json = d3.json("data/russia_1e_7sr.json", function (e, d) {
      map = d;
   });
   // ... draw map
}

如果我调试此代码,那么我会看到结果。 如果我关闭调试器然后刷新页面,结果就会消失。

我建议用对象的记忆发生一些事情。 但是什么?

使用d3获取数据的正确方法是什么? 是的,我看到了这样的例子:

d3.csv("file.csv", function(e,d) {
   // ... use d
   // all things processed inside this function
}

如果我想从不同来源加载多个数据部分该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要移动绘制地图位:

var map_json; // in global scope

...
function get_data() {
   map_json = d3.json("data/russia_1e_7sr.json", function (e, d) {
       var map;= d;
       // ... draw map
   });
}

map在你拥有它的地方不会被填充。