当我使用网络工作者发布postMessage(obj)时,我试图以这种方式传输字典对象。
TypeError: Incorrect type of self (must be 'img_hash_ImgHashBase' or its derivative)
在另一端收到,我可以看到obj中有项目,但是无法调用Dictionary方法。然后,我使用这种方法来遍历它。还是觉得不方便。
let obj = JSON.parse(JSON.stringify(workerMessage));
this.worker.postMessage(obj);
是否可以将obj转换回Dictionary,然后以Dictionary的方式进行操作。
尝试过此方法,不起作用。
let values = Object.keys(obj).map(function (k) {
return obj[k];
});
答案 0 :(得分:0)
您无法在javascript中的对象内部对方法进行字符串化。 JSON.stringify()
将忽略函数或将其转换为null。在MDN中对此有更多的了解。
我建议您仅通过postMessage发送参数。处理这些参数的逻辑应该已经在另一端。