从 Web 工作者返回对象


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);
  });
};
返回

实例化对象,但仅返回构造函数中的值。不是任何原型函数。

为什么?是否可以从 Web worker 返回实例化对象?

我猜所有传递给 Web worker 和从 Web worker 传递的数据都是序列化的(JSON 解析/字符串化)。对象上的 func 定义将在序列化期间被删除。

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

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

最新更新