Necesito compartir un objeto entre una aplicación del lado del cliente y un trabajador web y escuché sobre SharedArrayBuffers. Esto es lo que me gustaría hacer.
principal.js
let myWorker = new Worker('/worker.js') let mySab = new SharedArrayBuffer(1024) let myObj = { foo: 'bar', bar: 'foo' } // Save 'myObj' to 'mySab' worker.postMessage(sab)trabajador.js
self.onmessage = (e) => { let myObj = BLANK // Get 'myObj' from SharedArrayBuffer }es posible? Los ejemplos que he visto de ShareArrayBuffers solo guardan números en el búfer. ¡Cualquier ayuda es apreciada!
No, SharedArrayBuffer solo almacena datos binarios. Solo puede enviar copias de objetos a través de la función postMessage incorporada.
Fuentes:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers