我目前正在尝试从命令提示符运行JScript / CScript中的Q promise库。但似乎JScript在尝试执行/评估代码时抛出错误。
代码:
function createXMLHTTPObject() {
var XMLHttpFactories = [
function () {return new XMLHttpRequest()},
function () {return new ActiveXObject("Msxml2.XMLHTTP")},
function () {return new ActiveXObject("Msxml3.XMLHTTP")},
function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];
var xmlhttp = false;
for (var i=0;i<XMLHttpFactories.length;i++) {
try {
xmlhttp = XMLHttpFactories[i]();
}
catch (e) {
continue;
}
break;
}
return xmlhttp;
}
var loadScript = function(url){
var script= createXMLHTTPObject();
script.Open("GET",url,false);
script.Send()
var response = eval(script.responseText);
}
//execute Q library
loadScript("http://jquery-for-admins.googlecode.com/svn/trunk/jq4a.js");
loadScript("http://cdnjs.cloudflare.com/ajax/libs/json2/20130526/json2.min.js");
loadScript("http://cdnjs.cloudflare.com/ajax/libs/q.js/1.0.1/q.js");
这是来自cmd的执行代码:
wscript //x script.js
上面的代码可以执行jquery4admin和json2.min.js。但由于某些原因,它无法执行Q库。所以问题是:是否还有其他支持JScript / CScript的promise库?如果不可能,那么我将以同步模式运行所有XHR。
更新:
错误实际上在q.js内,当我试图声明延迟对象并解决它时,visual studio调试器基本上在这行代码中断并停止:
// old browsers
requestTick = function () {
setTimeout(flush, 0);
};
这就是视觉工作室所说的:
第618行的未处理异常,第13行的eval代码
0x800a138f - Microsoft JScript运行时错误:预期的对象
由于