如何在不读取I / O的情况下使用FileReader()
读取文件?以下是我现在的表现:
function readImageFile(imageFile, callback) {
var reader = new FileReader();
reader.onload = function(e) {
callback(e.target.result);
};
reader.readAsDataURL(imageFile);
}
除了我需要处理非常大的图像(> 4k分辨率)这需要花费相当多的时间之外,其工作正常。我无法在阅读时阻止用户输入使用页面上的其他功能。
答案 0 :(得分:3)
我相信FileReader
已经异步:https://developer.mozilla.org/en-US/docs/Web/API/FileReader
FileReader对象允许Web应用程序异步读取 存储在用户计算机上的文件(或原始数据缓冲区)的内容, 使用File或Blob对象指定要读取的文件或数据。
FileReaderSync
将是同步版本:https://developer.mozilla.org/en-US/docs/Web/API/FileReaderSync
答案 1 :(得分:1)
client = {
1:{"name":"name_1","email":"name_1@gmail.com"},
2:{"name":"name_2","email":"name_2@gmail.com"}
}
orders={1:{"date":"2016-02-01","client_id":1}...}
是异步的。它没有按定义阻止UI(https://www.w3.org/TR/FileAPI/)。但是要处理文件,计算机需要花费一些资源,所以你需要考虑这个。处理大文件可能需要大量资源。