私はこの単純な方法で私のサーバー上にある.txtファイルの読み込みいる:それに応じてこの投稿に、Javascriptのテキストファイルの読み込み遅延
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");
}
私はこの単純な方法でそれを使用していた:Reading a txt file from Server, writing it to website
function loadFile(url) {
console.time("loadFile");
getFileFromServer(url, function(text) {
if (text === null) {
console.log("error-loading-file");
}
else {
console.timeEnd("loadFile");
doStuff(text);
}
});
ご覧のとおり、console.timeを入れてタイミングを記録しています。ここでは、ブラウザのコンソール答え何ですか:
getFileFromServer:1.744ms
loadFileはは:
を18114.871ms私はjavascriptの専門家ではない、と私はタイミングの違いを説明するために把握することができる唯一のことはあります引数渡し(値とC++での参照) 誰かがこのタイミングの違いを私に説明できますか?
これは、ajax呼び出しの非同期性のためです。 http://stackoverflow.com/questions/11233633/understanding-asynchronous-code-in-laymans-terms – shakib