我正在努力学习OO Javascript,回调和闭包,我对此行为感到有些困惑。这是我的工作代码,回调工作,我在控制台中得到响应:
var XMLLoader = (function() {
console.log("Successfully loaded 'XMLLoader.js'...");
var xml;
var xhr;
return {
setXml: function(xmlPath) {
xml = xmlPath;
},
makeRequest: function(callback) {
xhr = new XMLHttpRequest();
xhr.onload = function() {
callback(xhr.responseXML);
};
xhr.open("GET", xml);
xhr.send(null);
}
};
}());
XMLLoader.setXml("xml/test.xml");
XMLLoader.makeRequest(function(e) {
console.log(e);
});
我遇到的问题是我想将responseXML存储在XMLLoader中并使用类似var x = XMLLoader.getXMLDoc();
的方式返回它。任何人都可以指出我正确的方向如何做到这一点?我已经尝试在回调中进行任务无效。