Javascript 以尽可能少的开销通过引用将提交的文件传递给web worker
我将有一个网络工作者来解析巨大的文本文件(200000行,尽管语法很简单)。我希望用户通过拖放或其他方式提交该文件,获得Javascript 以尽可能少的开销通过引用将提交的文件传递给web worker,javascript,web-worker,fileapi,transferable,Javascript,Web Worker,Fileapi,Transferable,我将有一个网络工作者来解析巨大的文本文件(200000行,尽管语法很简单)。我希望用户通过拖放或其他方式提交该文件,获得文件对象: var work = new Worker("parser.js") document.addEventListener("drop", function(e) { e.preventDefault(); var dt = e.dataTransfer; var files = dt.files;
文件
对象:
var work = new Worker("parser.js")
document.addEventListener("drop", function(e) {
e.preventDefault();
var dt = e.dataTransfer;
var files = dt.files;
if(files.length>0) {
var firstFile = files[0]
var reader = new FileReader();
//SEND FILE TO WORKER?
}
});
我听说过可转让物品。有没有办法把文件传送给工人?在某种程度上,GUI线程不会因为读取文件而变慢?一些浏览器(找不到兼容表)支持通过web workerpostMessage
传递对象,因为它们现在使用来处理消息参数。对于支持它的浏览器来说,这可能是最有效的方法
似乎表明结构化克隆应该在:Chrome 13+、Firefox 8+、IE10+、Opera 11.5+、Safari 5.1+上可用。这里有一个很好的教程:,你甚至可以在工作台上处理文件阅读器,这基本上意味着文件在打开之前就被传递了,对吗?