【发布时间】:2015-11-04 08:36:57
【问题描述】:
由于 Web-Worker JSON 在线程之间序列化数据,这样的事情不起作用:
worker.js
function Animal() {}
Animal.prototype.foobar = function() {}
self.onmessage = function(e) {
self.postMessage({animal: new Animal()})
}
main.js
let worker = new Worker('worker.js')
worker.onmessage = function(e) {
console.log(e.data)
}
worker.postMessage('go!')
结果将是一个失去foobar原型方法的简单对象。
是否可以在不丢失原型方法的情况下将自定义对象传回主线程?比如,ArrayBuffer 可以做到这一点吗?我对那些东西不熟悉,所以我有点迷茫。
【问题讨论】:
标签: javascript buffer web-worker data-transfer arraybuffer