Obecnie mam ten kod w celu utworzenia pracownika WWW:Korzystanie zbywalne obiekty ze Pracownik internetowej
w = new Worker("webwork.js");
w.onmessage = function(event) { alert(event.data); }
a nastepnie numer webwork.js
dla pracownika Web:
self.onmessage = function(event) {
//var ss=r; //Causes error because of undefined
var ss="";
for(var currProp in event) {
ss+=("event."+currProp+"="+event[currProp]+"\n");
}
postMessage(ss);
}
Teraz chcę przenieść 128 megabajta ArrayBuffer
z tym kodem:
var r = new ArrayBuffer(1048576*128);
w.postMessage(0, [r]);
Teraz, gdy podobno przesłałem zmienną r
, w jaki sposób mogę uzyskać do niej dostęp z samego pracownika sieci. Próbowałem event.r
, tylko r
, self.r
i innych rzeczy, takich jak próbuje dodać drugi argument funkcji dla tablicy ArrayBuffers
, ale nic nie działa.
Jak uzyskać dostęp do przesłanych zmiennych z Web Worker?
nie będzie w ' event.data'? – bfavaretto
Nie wydaje się tak. Jeśli używam "w.postMessage (0, [r]);", to "event.data" jest 0, ale nie wiem, gdzie znajduje się tablica ArrayBuffers, nawet poprzez sprawdzenie wszystkich właściwości wydarzenie. Nie mogę tego znaleźć. –