var worker = new Worker('./src/parser.js');
worker.onmessage = function(e) {
console.log(e);
console.log(e.data.getCollection()); // .. is not a function
};
工人:
onmessage = function(e) {
var myModel = new Model();
myModel.readFile(e.data.files[0], function (data) {
console.log(myModel.getCollection()); // Returns array
postMessage(myModel);
});
};
返回instansiated对象,但只返回构造函数中的值。没有任何原型功能。
为什么呢?是不是可以从webworker返回一个instansiated对象?
答案 0 :(得分:1)
我猜想传递给Web工作者的所有数据都是序列化的(JSON解析/字符串化)。在序列化过程中,对象上的func定义将被删除。
而不是返回模型,您可以返回查询的数组吗?
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers