所以,我正在开发一个项目,要求我调用一个函数来从外部源获取数据。
我遇到的问题,我调用了函数 - 但函数调用后的代码在函数返回值之前仍在继续。
这是函数 -
function getData()
{
var myVar;
var xmlLoc = $.get("http://ec.urbentom.co.uk/StudentAppData.xml", function(data) {
$xml = $(data);
myVar = $xml;
console.log(myVar);
console.log(String($xml));
localStorage.setItem("Data", $xml);
console.log(String(localStorage.getItem("Data")));
return myVar;
});
return myVar;
console.log("Does this continue");
}
这就是它的所在 -
$(document).on("pageshow","#Information",function() {
$xml = $(getData()); //Here is the function call
console.log($xml); //However, it will instantly go to this line before 'getData' has returned a value.
$xml.find('AllData').each(function() {
$(this).find('item').each(function() {
if ($(this).find('Category').text()=="Facilities") {
console.log($(this).find('Title').text());
//Do stuff here
} else if ($(this).find('Category').text()=="Contacts" || $(this).find('Category').text()=="Information") {
console.log($(this).find('Title').text());
//Do stuff here too
}
});
$('#informationList').html(output).listview().listview("refresh");
console.log("Finished");
});
});
现在,我不确定它为什么不起作用。我的猜测是因为我在一个函数中调用一个函数。
有没有人对如何解决这个问题有任何想法?