Verwenden übertragbarer Objekte aus einem Web Worker
Ich habe momentan diesen Code, um einen Web Worker zu erstellen:
w = new Worker("webwork.js");
w.onmessage = function(event) { alert(event.data); }
Und dann diewebwork.js
Code für den Web Worker:
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);
}
Jetzt möchte ich ein 128-Megabyte übertragenArrayBuffer
mit diesem Code:
var r = new ArrayBuffer(1048576*128);
w.postMessage(0, [r]);
Nun, da ich die Variable angeblich übertragen haber
Wie greife ich vom Web Worker selbst darauf zu? Ich habe versuchtevent.r
, gerader
, self.r
und andere Dinge wie der Versuch, ein zweites Funktionsargument für das Array von hinzuzufügenArrayBuffers
, aber nichts geht.
Wie kann ich vom Web Worker aus auf die übertragene (n) Variable (n) zugreifen?