我是新来的。我试图使用jaavascript制作一个简单的交互式图表。我的想法是,当我更改选择器中的值时,图表会更改数据正在使用。
但是,我在数据切换方面遇到了麻烦。数据来自不同的网址。这些网址是CSV文件。我的代码从CSV文件中提取URL并创建一个数组。然后它继续从数组的适当元素调用CSV文件。简化代码:
functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
return ArrayOfStrings
};)
}
A = functionThatReturnsArray();
MoreCode;
//For example, the first value from A is selected
d3.csv(A[0], function(error, data) {
MoreCode;
})
问题是它似乎不是d3.csv的有效输入,因为它不起作用。我不知道我是否遗漏了某些东西,或者不能这样做。
我搜索过,可能是因为d3.csv是一个异步方法,但我不确定这是不是问题。
任何建议都是apreciated
答案 0 :(得分:0)
您的第一个CSV
数据是异步加载的,因此此函数不会返回任何内容
functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
return ArrayOfStrings
};)
}
您可以将以下代码放入功能
function processArray(A){
MoreCode;
//For example, the first value from A is selected
d3.csv(A[0], function(error, data) {
MoreCode;
})
}
并在第一个csv
加载回调
functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
processArray(ArrayOfStrings) //add this
};)
}