小编Chi*_*ara的帖子

无法在“DedicatedWorkerGlobalScope”上执行“postMessage”:索引 0 处的值没有可转移类型

这是我的工人的代码:

onmessage = function (event) {
    postMessage({'data': event.data}, ['http://localhost:9000']);
};
Run Code Online (Sandbox Code Playgroud)

这是我使用工人的代码:

var worker = new Worker("/path/to/my/worker.js");
worker.onmessage = function (event) {
    console.log("RECEIVED: ", event.data);
};
worker.onerror = function (err) {
    console.log('ERROR: ', err)
};
worker.postMessage({'data': 'blabla', 'msg': 'Hi'});
Run Code Online (Sandbox Code Playgroud)

但是当调用工作代码中的 postMessage 时,它​​给了我这个错误:“无法在 'DedicatedWorkerGlobalScope' 上执行 'postMessage':索引 0 处的值没有可转移类型。”

我还尝试使用以下代码序列化对象:

onmessage = function (event) {
        postMessage(JSON.stringify({'data': event.data}), ['http://localhost:9000']);
    };
Run Code Online (Sandbox Code Playgroud)

但一切都没有改变。

- - - 编辑 - - - - - - - - - - - - - - - - - - - …

javascript postmessage worker web-worker transferable

5
推荐指数
1
解决办法
5094
查看次数