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