我有一个Angular应用程序,我正在尝试将一些功能实现到Web Worker中。为了实现这一点,我需要将一个对象从角度范围传递给工作人员,以便处理它并生成结果。
我遇到以下错误:
Error: Failed to execute 'postMessage' on 'Worker': An object could not be cloned.
致电worker.postMessage($scope.scopeObj);
为了将该对象发送给工作人员,我需要做些什么特别的事情吗?它目前适用于手动创建的模拟对象。
答案 0 :(得分:1)
原来我试图发送的对象调用了一个函数,并且正如这个文档(https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#Things_that_don%27t_work_with_structured_clones)所指出的那样,这是消息不支持的事情之一。
从对象发送中删除该功能修复了错误。