Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const first = document.getElementById('number1');
  2. const second = document.getElementById('number2');
  3. const pocitajBtn = document.getElementById('pocitaj');
  4. const progresBar = document.getElementById('pb');
  5. const resultText = document.getElementById('primes-text');
  6.  
  7. const result = document.getElementById('result');
  8. let maxPrime = 0;
  9. let progress = 0;
  10. const resultPrimes = [];
  11.  
  12. if (window.Worker) {
  13.   const myWorker = new Worker('worker.js');
  14.  
  15.   pocitajBtn.onclick = () => {
  16.     maxPrime = second.value;
  17.     myWorker.postMessage([first.value, second.value]);
  18.     // return false;
  19.   };
  20.  
  21.   myWorker.onmessage = function (e) {
  22.     if (typeof e.data === 'number') {
  23.       progress = (e.data / maxPrime) * 100;
  24.     } else {
  25.       // resultPrimes.push(e.data);
  26.       resultText.innerText = e.data;
  27.     }
  28.  
  29.     result.textContent = Math.floor(progress);
  30.     progresBar.value = Math.floor(progress);
  31.     // console.log(progresBar.style);
  32.     // console.log('Message received from worker');
  33.   }
  34. } else {
  35.   console.log('Your browser doesn\'t support web workers.')
  36. }
  37.  
  38.  
  39.  
  40.  
  41. >>>>>>>>>>>>>>>>>>>>
  42. worker
  43. onmessage = (e) => {
  44.   console.log(`prichadzajuce data: ${e.data}`);
  45.   const start = e.data[0];
  46.   const end = e.data[1];
  47.  
  48.   let max = end;
  49.   let done;
  50.   let store = [], i, j, primes = [];
  51.   for (i = 2; i <= max; ++i) {
  52.     if (!store [i]) {
  53.       primes.push(i);
  54.       for (j = i << 1; j <= max; j += i) {
  55.         store[j] = true;
  56.       }
  57.     }
  58.     postMessage(i);
  59.     // console.log(primes);
  60.   }
  61.   done = true;
  62.   if (!done) {
  63.     // postMessage('Computing');
  64.   } else {
  65.     let workerResult = 'Result: ' + primes;
  66.     // console.log('Worker: Posting message back to main script');
  67.     postMessage(primes);
  68.   }
  69. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement