在 Web Worker onmessage 回调中调用 postMessage 会抛出 SYNTAX_ERR: DOM Exception 12

发布于 2024-12-28 02:18:34 字数 304 浏览 3 评论 0原文

当为 Web Worker 编写 onmessage 回调时,当我尝试发送另一个 postMessage() 时,我在控制台中收到“未捕获错误:SYNTAX_ERR:DOM 异常 12”。

var w = new Worker(url);
w.onmessage = function(e) {
    if(e.data.msg=='validate'){
        if(validateWork(e.data.wrk)){
            postMessage('proceed');
        }
    }
}

When writing the onmessage callback for a Web Worker I get an "Uncaught Error: SYNTAX_ERR: DOM Exception 12" in my console when I try to send another postMessage().

var w = new Worker(url);
w.onmessage = function(e) {
    if(e.data.msg=='validate'){
        if(validateWork(e.data.wrk)){
            postMessage('proceed');
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

所谓喜欢 2025-01-04 02:18:34

在回调中时,您必须使用此调用 postMessage()。

this.postMessage('proceed');

You must call postMessage() using this when in a callback.

this.postMessage('proceed');
很酷不放纵 2025-01-04 02:18:34

我认为这也可以:

w.postMessage('proceed');

I think this would work too:

w.postMessage('proceed');

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文