Kur*_*Liu 2 javascript html5 web-worker
据我所知,你只能传递一个字符串或一个可以作为JSON seralize的对象.
那么,如果我使用WebWorker在后台下载它们,那么在worker和主页之间传递一些图像文件的最佳方法是什么?
你只能传递一个字符串或一个可以作为JSON seralize的对象.
你的前提是错的.您可以传递结构化克隆算法支持的每种对象,例如,这可以是不能表示为JSON的循环链接数据.您还可以传递ArrayBuffers,ArrayBufferViews,PixelDataArrays,Blobs等所有JSON都不知道的数据类型.
Workers 的postMessage方法的第二个参数甚至允许您将二进制数据(例如ArrayBuffers)直接传输给worker - 它甚至不会复制任何东西,尽管它会中断您拥有的引用.