我有以下内容:
if(typeof searchDOM === "undefined"){
dojo.xhrPut({
url: addrPath + "/ContServlet?mod=1&act=23",
handleAs: "xml",
timeout: xhrTimeout(TIMEOUT_LRG),
load: function(dom, ioArgs){
if(dom instanceof Error){
console.error(dom);
} else{
cacheDOM = dom;
}
},
error: function(response, ioArgs){
xhrError(ioArgs, methodName);
}
});
}
变量 cacheDOM 是在另一个脚本的其他地方声明(但未初始化)的全局变量。它是一个包含整个 dom 的 xml 文档,它被传递到:
问题是,当它到达 fetchXml 时,cacheDOM 是未定义的,这会导致诸如 selectNode 之类的方法在函数下方出现问题。
我没有太多接触过 xhr 调用,或者诸如延迟或承诺之类的事情,但我认为他们可能会对此有所帮助。我该如何编写代码,以便该块所在的其余方法仅在已为 cacheDOM 分配了 dom 的值时才执行?或者如果延迟是答案,我将如何将它们合并到此代码中?我使用的道场版本是1.7.8