0
我用這個代碼:d3js:d3.csv和它的數據消失
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
}
如果我想從不同的來源加載多個數據部分組成?
這是一個異步'回調函數,這意味着它不會與程序的其餘部分以線性順序觸發。因此,您的繪圖代碼在文件加載之前觸發。你應該調用一個函數從線性流的回調中繪製地圖。要加載多個源代碼,可以嵌套加載(在另一個回調中加載),或者定義一個計數器,每次回調時加一個計數器,當它等於您調用最終函數的數據部分的數量時。 – JSBob
我剛剛開始與js。感謝您的好解釋:我明白了。 –