Javascript 如何使用数组缓冲区从Web Workers发送JSON数据

Javascript 如何使用数组缓冲区从Web Workers发送JSON数据,javascript,web-worker,Javascript,Web Worker,我对如何通过数组缓冲区将JSON数据从webworker发送回主线程感到困惑 假设: data = {"key":"value"} worker.postMessage(data, buffers); 我应该为缓冲区放入什么?接受消息标识符和如下消息数据: var message_data = {'key':'val'}; worker.postMessage('my_message', message_data); 消息标识符在某种意义上表示发送的消息或事件的类型,那么数据就是实际的消息

我对如何通过数组缓冲区将JSON数据从webworker发送回主线程感到困惑

假设:

data = {"key":"value"}

worker.postMessage(data, buffers);
我应该为缓冲区放入什么?

接受消息标识符和如下消息数据:

var message_data = {'key':'val'};
worker.postMessage('my_message', message_data);

消息标识符
在某种意义上表示发送的消息或事件的类型,那么数据就是实际的消息数据或参数,可以包括任何(包括键入的数组)

您能否澄清“通过”数组缓冲区发送消息的意思,为什么要这样做呢?请看这里:这里您在web worker中有一个JSON对象,并且希望将其传输(而不是复制)到主线程?是的,确切地说,我不确定postMessage()中的确切参数,我怀疑某些复制可能是不可避免的:根据您只能传输ArrayBuffer和MessagePort对象。您可能会使用类似的方法将JSON对象“打包”到ArrayBuffer中,但我认为只在线程之间复制JSON对象,而不是将其复制/打包到ArrayBuffer中然后进行传输会更有效。