Javascript - 等待函数返回

时间:2014-06-08 21:22:35

标签: javascript jquery jquery-mobile

所以,我正在开发一个项目,要求我调用一个函数来从外部源获取数据。

我遇到的问题,我调用了函数 - 但函数调用后的代码在函数返回值之前仍在继续。

这是函数 -

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");
    });
});

现在,我不确定它为什么不起作用。我的猜测是因为我在一个函数中调用一个函数。

有没有人对如何解决这个问题有任何想法?

0 个答案:

没有答案