返回d3.json中匿名回调的结果

returning the result of anonymous callback in d3.json

本文关键字:回调 结果 d3 json 返回      更新时间:2023-09-26

我正在调用从我的d3 javascript返回json的REST。我需要'rate'的值,这是由匿名函数产生的,将返回给调用getJSON的任何东西。我如何做到这一点?匿名函数是一个回调函数,在REST调用之后执行。这是我的代码不能工作:

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;

Lars说得对。基本上,数据需要在匿名函数中进行处理。图像也是如此。它们需要使用回调提供的数据(或响应变量)从匿名函数内部写入。之后,调用渲染器。详见http://digitallibraryworld.com/?p=487