代码执行一步一步(同步)

时间:2014-07-01 12:03:54

标签: function call execution synchronous

我的index.html中只有两行(见下文)代码。我想在第二行执行之前执行第一行。我该怎么做/确保?目前,“未定义”将在dataDB的控制台中显示,因为函数getDataFunction()需要一些时间。

var dataDB = getDataFunction(afterDate, toDate, afterTime, toTime);
console.log("Content of dataDB: " + dataDB);

对您来说可能是一个简单的问题:-)感谢您的帮助!

更新:getDataFunction() 这个函数只是从带有d3(数据驱动文档)的服务器获取一些数据(集合+ json)...这些参数用于识别感兴趣的数据(时间范围)。

function getDataFunction(afterDate, toDate, afterTime, toTime){

    d3.json("http://server...", function(error, data){
        if(error) {
            console.log(error);
        } else {
            console.log(data);

            dataDB = data.collection.items;
            console.log(dataDB);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

D3 api reference

它在api引用中说post确实是异步完成的,因此其余代码的执行继续进行(在这种情况下是console.log),没有合适的方法让javascript等待。最好的办法是重新设计你的回调函数来处理下一步需要做的事情。