我有一个 JavaScript 引导程序模块,我试图保持非常干净和简单:目前我有如下代码:
function bootStrapper() {
xmlRepository.getAll().done(function (result) {
autoPolicyForm.show();
});
}
在 xmlRepository 中,我在 getAll(); 中使用了一个延迟对象;
function getAll () {
var d = $.Deferred();
$.ajax({
type: "GET",
url: "http://localhost/Autopolicy/dataSource.xml",
dataType: "xml",
success: function (xml) {
d.resolve(xml);
}
});
return d.promise();
}
这段代码运行良好,但我真的很想将引导程序代码进一步简化为:
function bootStrapper() {
var result = xmlRepository.getAll();
autoPolicyForm.show();
});
}
由于调用的异步性质,我尝试的一切都会导致“结果”未定义。
有谁知道如何修改代码以将复杂性移至 xmlRepository 以便实现上述目标?
谢谢