我正在尝试编写一个javascript函数,尝试从服务器读取文本文件,直到找到一个不存在的文本文件。 在服务器上有文本文件编号为1到n(1.txt,2.txt,3.txt等),因此它应该读取所有文件(顺序或异步),直到它尝试读取" 4。 TXT"它会引发错误。
以下代码适用于我的本地计算机(没有服务器正在运行),但在远程服务器上失败,说“"没有这样的文件"错误未被捕获。
我试图理解为什么在这两种情况下错误的处理方式不同,如果我有什么办法可以让它适用于远程服务器,如果有任何其他方法我可以采取这个措施?
我的最小代码是:
var files=[];
function readTextFile(file)
{
var request = new XMLHttpRequest();
request.open("GET", file, false);
request.onreadystatechange = function ()
{
if(request.readyState === 4)
{
if(request.status === 200)
{
var allText = request.responseText;
files.push(allText);
} else {
throw "No such file";
}
}
}
request.send();
}
function readFiles(){
try {
var i =1;
while (true) {
readTextFile(i+".txt");
i+=1;
}
}
catch (e) {
console.log("finished reading files")
}
console.log(files)
}
readFiles();