D3.js - 从 CSV 文件加载数据并在函数调用外部使用它

D3.js - Load data from CSV file and use it outside function call

本文关键字:函数调用 外部 数据 js CSV 加载 文件 D3      更新时间:2023-09-26
由于

调用 d3.csv 时回调的异步性质,回调中的变量似乎无法访问外部。有解决方法吗?

这是我的代码 -

var cprices;
d3.csv("../data/crudeprices.csv", function(data){
cprices = data;
getCrudePrices(data);
});
function getCrudePrices(data){
    for(var i = 0; i < data.length; i++) {
        //cprices.push(data[i].price);
        //console.log(cprices[i]);
    }
}
console.log("cprices " + cprices);

我想读取 csv 文件并将数据加载到回调之外的数组中。但这似乎不受支持。有解决方案/解决方法吗?参考 - csv 到 d3 中的数组.js

可能的解决方案:d3.csv(...) 调用是异步的,因此当您进入"console.log(...)"时,它可能不会完全执行

建议,作为中间技巧,将睡眠超时几秒钟,看看是否有帮助。

如果是这样,您可能需要重新构建代码以考虑调用的异步性质。这可能意味着从 d3.csv() 调用内部处理所有逻辑