我有这段代码:
$(function(){
var data = prepData([]);
alert(data);
//$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');
});
function prepData(query){
/* TODO: Later afmaken, van het ophalen van gegevens, data en omzetten json doet raar -_- */
var xhttp;
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var response = xhttp.responseText;
response = JSON.parse(response);
//Here i know it works
return response;
}
};
xhttp.open("POST", "/getData", true);
xhttp.send();
}
问题是当我在调用函数var data = prepData([])
后尝试打印数据时,它会返回undefined
,但是当我在onreadystatechange
函数中打印它时,我就是标记机智在这里,我知道它的工作原理,我得到了正确的数据显示。
我认为问题是因为函数是异步的,它在onreadystatechange
有机会返回任何内容之前完成,但我不知道如何防止它。