Skip to content

Instantly share code, notes, and snippets.

@jfirebaugh
Created November 14, 2014 00:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jfirebaugh/fbbd767f4d934c28c2e6 to your computer and use it in GitHub Desktop.
Save jfirebaugh/fbbd767f4d934c28c2e6 to your computer and use it in GitHub Desktop.
Test for Transferable support in Web Workers
if (typeof window !== 'undefined') {
(function() {
var worker = new Worker("index.js"),
buffer = new ArrayBuffer(10);
try {
worker.postMessage({buffer: buffer}, [buffer]);
console.log('postMessage with array transfer', buffer.byteLength);
return;
} catch (e) {
}
try {
worker.postMessage({buffer: buffer}, buffer);
console.log('postMessage with single transfer', buffer.byteLength);
return;
} catch (e) {
}
worker.postMessage({buffer: buffer});
console.log('postMessage with no transfer', buffer.byteLength);
})();
} else {
self.onmessage = function (e) {
console.log('onmessage', e.data.buffer.byteLength);
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment