Javascript 以尽可能少的开销通过引用将提交的文件传递给web worker

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;

我将有一个网络工作者来解析巨大的文本文件(200000行,尽管语法很简单)。我希望用户通过拖放或其他方式提交该文件,获得
文件
对象:

   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 worker
postMessage
传递
对象,因为它们现在使用来处理消息参数。对于支持它的浏览器来说,这可能是最有效的方法


似乎表明结构化克隆应该在:Chrome 13+、Firefox 8+、IE10+、Opera 11.5+、Safari 5.1+上可用。

这里有一个很好的教程:,你甚至可以在工作台上处理文件阅读器,这基本上意味着文件在打开之前就被传递了,对吗?