D3.js 在D3中,如何通过异步函数更新全局值?
我定义了一个空变量数据集: var数据集=[]; 通过d3.dsv函数从.csv文件加载数据,模式如下D3.js 在D3中,如何通过异步函数更新全局值?,d3.js,load-csv,asynchronous-javascript,D3.js,Load Csv,Asynchronous Javascript,我定义了一个空变量数据集: var数据集=[]; 通过d3.dsv函数从.csv文件加载数据,模式如下 d3.dsv(",", "filename.csv", function(d){ return { key1: value, key2: value, ... }; }).then(function(d) { //do something like dataset = d to update dataset; }); 我的目标是用.then()函数更新我在开始时定义的全局值数
d3.dsv(",", "filename.csv", function(d){
return {
key1: value,
key2: value,
...
};
}).then(function(d) {
//do something like dataset = d to update dataset;
});
我的目标是用.then()函数更新我在开始时定义的全局值数据集,这样我以后就可以使用更新后的数据集了,它位于.then()函数之外。我能做些什么来实现我的目标?您可以从任何其他作用域访问全局作用域
window.dataset = null // define global variable
d3.dsv(",", "filename.csv", function(d){
return {
key1: value,
key2: value,
...
};
}).then(function(d) {
//do something like dataset = d to update dataset;
window.dataset = d // assign 'd' to 'dataset'
});
console.log(数据集)仍打印为空。该值没有更改。
console.log(window.dataset)
?相同的输出为空