我很痛苦,我希望有人可以帮助!
我有一段非常慢的代码。我有 40 variables
,对于他们每个人,我执行以下操作:
for (i=variables.length; i--;) {
metric = URL?name=variable;
d3.select( ... get_data(metric)).... // calls to visualize the data
}
function get_data(metric) {
d3.json(metric, function(data) {
// do stuff
});
}
为了让它更快,我做了以下事情:
for (i=variables.length; i--;) {
metric = URL;
d3.select( ... get_data(metric,variable)).... // calls to visualize the data
}
function get_data(metric,variable) {
d3.json(metric, function(data) {
parse(data, variable) // extract variable related data
// do stuff
});
}
新代码至少快 6 倍!但为什么?我不是在获取更多数据吗?
编辑:我回去并console.log(data)
在新get_data
功能中做了一个,令人惊讶的是它确实请求了整个数据(URL)40次!但这比做 40 种不同的 (URL?name=variable) 更快