如何在 Javascript 中不使用 FileReaderSync 使 FileReader 异步?
How to make FileReader Asyncronous without Using FileReaderSync in Javascript?
我正在使用 FileReader 通过在 chrome 中使用 javascript 拖放来读取多个文件和文件夹。它工作正常,但问题是我想在所有文件和文件夹读取完成后调用函数。我不能,因为它是异步操作,chrome 不支持 FileReaderSync。那么有没有办法做到这一点?
这是我的代码,
entry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
data.push(this.result);
};
reader.readAsText(file);
});
作为此处可以使用的示例。这不能用作 "Copy&Paste" 变体:
var filesCount = "give here number of files";
var callbackFunction = function(){
if(data.length == filesCount ){
Console.log( "Assume this as the end of all files reading" );
}
}
entry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
data.push(this.result);
callbackFunction();
};
reader.readAsText(file);
});
我正在使用 FileReader 通过在 chrome 中使用 javascript 拖放来读取多个文件和文件夹。它工作正常,但问题是我想在所有文件和文件夹读取完成后调用函数。我不能,因为它是异步操作,chrome 不支持 FileReaderSync。那么有没有办法做到这一点?
这是我的代码,
entry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
data.push(this.result);
};
reader.readAsText(file);
});
作为此处可以使用的示例。这不能用作 "Copy&Paste" 变体:
var filesCount = "give here number of files";
var callbackFunction = function(){
if(data.length == filesCount ){
Console.log( "Assume this as the end of all files reading" );
}
}
entry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
data.push(this.result);
callbackFunction();
};
reader.readAsText(file);
});