据我所知,你只能传递一个字符串或一个可以作为JSON seralize的对象。
如果我使用WebWorker在后台下载它们,那么在worker和主页之间传递一些图像文件的最佳方法是什么?
答案 0 :(得分:5)
你只能传递一个字符串或一个可以作为JSON封装的对象。
你的前提是错的。您可以传递structured clone algorithm支持的每种对象,例如,这可以是无法表示为JSON的循环链接数据。您还可以传递ArrayBuffers,ArrayBufferViews,PixelDataArrays,Blobs等所有JSON未知的数据类型。
Workers的postMessage
method的第二个参数甚至允许你将二进制数据(例如ArrayBuffers)直接传递给worker - 它甚至不会复制任何东西,尽管它将中性你所拥有的参考资料。