HTML5 FileReader API非常便于从用户桌面加载客户端文件。这是异步javascript模式,在stackoverflow上的其他位置使用此API:
var fileHandler = function(e){
var reader = new FileReader();
reader.onload = (function(theFile){
var fileName = theFile.name;
return function(e){
console.log(fileName); // I want a callback here
};
})(currentFile);
reader.readAsText(currentFile);
}
我想在我的应用程序的许多不同位置使用文件上传按钮,并在每个文件中以不同方式处理文件。将不同的处理回调传递给fileHandler函数的最有效方法是什么,这样我就不必复制其余的函数代码(创建FileReader,定义onload函数,readAsText)?