Javascript 返回d3.json中匿名回调的结果
我正在调用一个REST,它从我的D3JavaScript返回json。我需要将匿名函数生成的“rate”值返回给调用getJSON的任何对象。我如何做到这一点?匿名函数是在进行REST调用后执行的回调函数。这是我的代码,不起作用:Javascript 返回d3.json中匿名回调的结果,javascript,json,d3.js,Javascript,Json,D3.js,我正在调用一个REST,它从我的D3JavaScript返回json。我需要将匿名函数生成的“rate”值返回给调用getJSON的任何对象。我如何做到这一点?匿名函数是在进行REST调用后执行的回调函数。这是我的代码,不起作用: function getJson() { d3.json('http://something.org/api/latest.json, function(data){ var rate = [{key:1, values:[{"label":"label","valu
function getJson() {
d3.json('http://something.org/api/latest.json, function(data){
var rate = [{key:1, values:[{"label":"label","value":20},{"label":"label2","value":2}]}];
for(var key in data.rates){
if(data.rates.hasOwnProperty(key)){
//need to return this variable after for loop to whoever's calling getJson
rate[0]["values"].push({"label":key,"value":data.rates[key]});
}
}
//rate is fully populated here
});
//can't access populated rate anymore
return rate;
拉尔斯是对的。基本上,数据需要在匿名函数中处理。图表也是如此。它们需要使用数据(或回调提供的响应变量)从匿名函数中写入。之后,调用渲染器。
详细信息可以在这里找到简而言之,你不能。您需要运行任何需要回调值的代码。