我想用javascript读取文件并操纵一些变量,所以我使用以下代码:
var error = false;
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent){
var textFromFileLoaded = fileLoadedEvent.target.result;
if(textFromFileLoaded.length >=1000){
error = true;
}
console.log(textFromFileLoaded);
};
fileReader.readAsText(uploadFile, "UTF-8");
if(error == true)
$('#export').prop('disabled', true);
在代码的最后,当我尝试测试错误是否为真时,我发现它为假(这意味着filereader内部错误变量的更改不会持续存在。
有什么问题,请您帮忙。
最佳答案
FileReader.readAsText()是异步的,因此在准备好文件读取之前将执行下一行。
您可以在事件处理程序中设置Disabled属性。
fileReader.onload = function(fileLoadedEvent){
var textFromFileLoaded = fileLoadedEvent.target.result;
if(textFromFileLoaded.length >=1000){
error = true;
$('#export').prop('disabled', error);
}
};
fileReader.readAsText(uploadFile, "UTF-8");
关于javascript - Javascript文件阅读器+可变范围内的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58215156/