从webworker返回对象

时间:2017-01-31 19:36:23

标签: javascript web-worker

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对象?

1 个答案:

答案 0 :(得分:1)

我猜想传递给Web工作者的所有数据都是序列化的(JSON解析/字符串化)。在序列化过程中,对象上的func定义将被删除。

而不是返回模型,您可以返回查询的数组吗?

https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers