development:js:webworker

no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


development:js:webworker [2021/05/13 11:45] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== Web Workers ====== 
 +===== Inline ===== 
 +<code javascript> 
 +var blob = new Blob([` 
 +    self.onmessage = function(e) { 
 +        postMessage('Msg from worker'); 
 +    } 
 +`]); 
 +var blobURL = window.URL.createObjectURL(blob); 
 +var worker = new Worker(blobURL); 
 +worker.postMessage(null); 
 +worker.onmessage = function(e) { 
 +    console.log(e.data); 
 +
 +</code> 
 +===== External ===== 
 +<code javascript main.js> 
 +var worker = new Worker('worker.js'); 
 +worker.addEventListener('message', function(event) { 
 +    console.log('message received from worker => ', event.data); 
 +}); // listen to error event of worker 
 +worker.addEventListener('error', function(event) { 
 +    console.error('error received from worker => ', event); 
 +}); 
 +worker.postMessage(null); 
 +// worker.terminate(); // When worker needs to be terminated from main thread 
 +</code> 
 +<code javascript worker.js> 
 +self.onmessage = function(event) { 
 +    var x = 0; 
 +    for (var i = 0; i < 200000000; i++) { 
 +        x = x + i; 
 +    } 
 +    self.postMessage(x); 
 +
 +// self.close(); // When worker needs to terminate it self 
 +</code>
  • development/js/webworker.txt
  • Last modified: 2021/05/13 11:45
  • by 127.0.0.1