在WebWorker和主线程之间传递二进制数据的最佳实践是什么?
What is best practice to pass binary data between WebWorker and main thread?
据我所知,您只能传递可以序列化为JSON的字符串或对象。
那么,如果我在后台使用WebWorker下载图像文件,那么在工作人员和主页之间传递图像文件的最佳方法是什么?
你只能传递一个字符串或一个可以序列化为JSON的对象。
你的前提是错误的。您可以传递结构化克隆算法支持的每种类型的对象,例如,这可以是不能表示为JSON的循环链接数据。你也可以传递ArrayBuffers, ArrayBufferViews, PixelDataArrays, Blobs等,所有JSON不知道的数据类型。
工作器的postMessage
方法的第二个参数甚至允许你将二进制数据(比如ArrayBuffers)直接传输到工作器——它甚至不会复制任何东西,尽管它会中性化你所拥有的引用。
相关文章:
- 在页面上记录数据并实现pushstate()的最佳方式
- 操作数据的最佳实践
- 以角度渲染表中数据的最佳方式
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 将数据绘制到C3的最佳实践
- 在我的代码中管理大量硬编码数据的最佳方法
- Ext JS - 将面板绑定到数据存储的最佳方法
- 将数据从视图传输到javascript的最佳方式
- 本地存储web数据的最佳实践
- 在线/离线数据更新移动最佳实践
- angularjs设计模式和从服务器获取数据的最佳实践
- AngularJS中使用ajax获取数据的最佳方式是什么
- Spring MVC与Google图表,创建javascript数据表的最佳方式是什么
- 更新视图和控制器之间的角度重复数据值的最佳方式是什么
- 在定期更新的 Angular 中存储和使用数据的最佳方式
- 从 Angular.js 视图中修改方法中的数据的最佳做法
- JavaScript 中多项选择测验的最佳数据结构
- 简单的语法检查器程序-最佳数据结构
- 这是在多个设备上处理海量数据的最佳数据网格