D3.js:如何使功能相互等待?

时间:2014-11-16 23:56:48

标签: javascript jquery web d3.js

我正在使用Datamaps,并且有一个我希望映射的JSON坐标文件。我在让函数等待彼此时遇到问题。为什么在调用其体内的函数之前完成一个?

以下是一些试图获取经度值列表的代码段:

$(document).ready(function  make_bubbles() {
    list = parse_data();
})

function parse_data(){
    var longitude = new Array();
    make_array(longitude);
    return longitude;
}

function make_array(input_list){
    d3.json("data/parsed_book_data.json",function(error,data){
        if (error) return console.warn(error);
        for(var i = 0; i < data.length; i++)
        {
            if(data[i]["lng"]) {
                input_list[i] = data[i]["lng"];
            }
        }
    });
}

更新:调整上述功能后,我现在......

$(document).ready(function  make_bubbles() {
    var list;
    list = parse_data();
    console.log(list + "SIZE: " +list.length)
}

它打印出控制台中的列表,但它说大小为0,为什么会这样?

0 个答案:

没有答案