在Javascript中读取文件而不阻止I/O.

Joe*_*oey 6 javascript

如何在不读取文件的FileReader()情况下读取文件?以下是我现在的做法:

function readImageFile(imageFile, callback) {
    var reader = new FileReader();
    reader.onload = function(e) {
        callback(e.target.result);
    };
    reader.readAsDataURL(imageFile);
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,除了我需要处理非常大的图像(> 4k分辨率),这需要相当长的时间.我无法在阅读时阻止用户输入使用页面上的其他功能.

San*_*tta 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