0
我正在嘗試讀取文本文件並返回結果。HTML5讀取文件返回讀取文件前的結果
到目前爲止,我能夠讀取文件,但是當我嘗試返回結果時,結果會在文件讀取完成之前返回。
如何強制功能等待結果? 我想它與回調有關,但不知道如何實現它。
MyFile.prototype.readFile = function(fileDir, fileName) {
var strText = "";
window.resolveLocalFileSystemURL(fileDir, gotDir, fail);
function gotDir(dir) {
dir.getFile(fileName, {create: true}, gotFile, fail);
}
function gotFile(fileEntry) {
fileEntry.file(gotRead, fail);
}
function gotRead(file) {
var reader = new FileReader();
reader.onerror = function(evt) {
console.log("Reading " + file.name + " Failed");
};
reader.onloadstart = function(evt) {
console.log("Read " + file.name + " Starting");
};
reader.onload = function(evt) {
console.log("Read " + file.name + " Successful");
};
reader.onloadend = function(evt) {
console.log("Read " + file.name + " Ending");
endRead(evt.target.result);
};
reader.onprogress = function(evt) {
console.log(evt.loaded + " of " + evt.total);
};
reader.readAsText(file);
}
function endRead(value) {
strText = value;
}
//returns null value before file read finishes
return strText;
};