在使用Angular和Web Workers时从作用域中克隆元素出错

Error cloning element from scope while using Angular and Web Workers

本文关键字:作用域 出错 元素 Angular Workers Web      更新时间:2023-09-26

我有一个Angular应用程序,我正试图在Web Worker中实现一些功能。为了实现这一点,我需要将一个对象从angular作用域传递给worker,这样它就会被处理并生成一个结果。

我遇到以下错误:

Error: Failed to execute 'postMessage' on 'Worker': An object could not be cloned.

调用worker.postMessage($scope.scopeObj);

是否需要做一些特殊的事情才能将该对象发送给worker?

结果是我试图发送的对象内部调用了一个函数,并且正如本文档(https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#Things_that_don%27t_work_with_structured_clones)指出的那样,这是消息中不支持的事情之一。

从对象send中删除函数修复了错误。