如何从其他模块返回填充的延迟对象?

时间:2012-11-27 16:28:34

标签: javascript jquery

我试图理解JavaScript中的延迟对象。我也在使用revealing module pattern,效果很好。

我有以下引导程序代码:

function bootStrapper() {    
    var result = xmlRepository.loadAll();   
}

在xmlRepository中我有一个'私有'函数:

function loadAllXML() {
    var d = $.Deferred();

    $.ajax({
        type: "GET",
        url: "http://localhost/Autopolicy/dataSource.xml",
        dataType: "xml",
        success: function (xml) {
            d.resolve(xml);
            $xml = xml;
        }
    });

    return d.promise();
}

然后我有一个名为loadAll()的'public'函数,看起来像是:

function loadAll() {
    loadAllXML().done(function (xml) {
        // I want to return the populated xml to the bootstrapper
    });                
}

返回到引导程序的值始终未定义。

如何修改代码以使var result = xmlRepository.loadAll());有一个xml poulated结果?

由于

0 个答案:

没有答案