我想從文件中讀取文本並將其返回到函數中。所以這裏是我的代碼的重要部分:等待文件加載(onload JavaScript)
function getFileRequest(id, contentType, callback) {
var val = "x";
if (window.File && window.FileReader && window.FileList && window.Blob) {
var element = document.getElementById(id);
var file = element.files[0];
if(file != null) {
if(file.type.match("text/xml")){
var r;
r = new FileReader();
r.onload = function (e) {
val = e.target.result;
}
r.readAsText(file);
}
else
alert("Wrong file format");
}
} else {
alert('The File APIs are not fully supported by your browser.');
}
alert(val);
if(val == null)
return "";
else
return getRequestBody(id,contentType,val);
}
我想將文本傳遞給一個名爲「val」的變量。但是,至少在我看來,alert(val)總是顯示默認的「x」,因爲它可能不是等待onload函數被執行。我對嗎? 那麼我怎樣才能訪問那個文本呢?有沒有辦法等待執行?
你不能把一個異步操作,同步。 – epascarello