Javascript文本文件加载延迟

Javascript text file loading delay

本文关键字:延迟 加载 文件 文本 Javascript      更新时间:2023-09-26

我正在用这个简单的方法加载位于服务器上的。txt文件:

function getFileFromServer(url, doneCallback) 
{
 console.time("getFileFromServer");
 var xhr;
 xhr = new XMLHttpRequest();
 xhr.onreadystatechange = handleStateChange;
 xhr.open("GET", url, true);
 xhr.send();
 function handleStateChange() {
     if (xhr.readyState === 4) {
         doneCallback(xhr.status == 200 ? xhr.responseText : null);
     }
 }
 console.timeEnd("getFileFromServer");
}

我用这种简单的方式使用它,根据这篇文章:从服务器读取文本文件,将其写入网站

function loadFile( url ) {
    console.time("loadFile");
    getFileFromServer(url, function(text) {
    if (text === null) {
        console.log("error-loading-file");
    }
    else {
        console.timeEnd("loadFile");
        doStuff(text);
    }
});

你可以看到,我已经把控制台。是时候跟踪时间了。下面是浏览器控制台的回答:

getFileFromServer: 1.744

女士

loadFile: 18114.871

女士

我不是javascript专家,我唯一能解释时间差异的是参数传递(c++中的值与引用)。有人能解释一下时间上的不同吗?

getFileFromServer完成得非常快的原因是没有真正的处理完成。函数不会等到请求从服务器返回,但是只在请求返回时注册回调函数。这意味着发送请求需要1.744ms,仅此而已。

loadFile函数测量发送请求和实际获得响应之间的时间。