Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const first = document.getElementById('number1');
- const second = document.getElementById('number2');
- const pocitajBtn = document.getElementById('pocitaj');
- const progresBar = document.getElementById('pb');
- const resultText = document.getElementById('primes-text');
- const result = document.getElementById('result');
- let maxPrime = 0;
- let progress = 0;
- const resultPrimes = [];
- if (window.Worker) {
- const myWorker = new Worker('worker.js');
- pocitajBtn.onclick = () => {
- maxPrime = second.value;
- myWorker.postMessage([first.value, second.value]);
- // return false;
- };
- myWorker.onmessage = function (e) {
- if (typeof e.data === 'number') {
- progress = (e.data / maxPrime) * 100;
- } else {
- // resultPrimes.push(e.data);
- resultText.innerText = e.data;
- }
- result.textContent = Math.floor(progress);
- progresBar.value = Math.floor(progress);
- // console.log(progresBar.style);
- // console.log('Message received from worker');
- }
- } else {
- console.log('Your browser doesn\'t support web workers.')
- }
- >>>>>>>>>>>>>>>>>>>>
- worker
- onmessage = (e) => {
- console.log(`prichadzajuce data: ${e.data}`);
- const start = e.data[0];
- const end = e.data[1];
- let max = end;
- let done;
- let store = [], i, j, primes = [];
- for (i = 2; i <= max; ++i) {
- if (!store [i]) {
- primes.push(i);
- for (j = i << 1; j <= max; j += i) {
- store[j] = true;
- }
- }
- postMessage(i);
- // console.log(primes);
- }
- done = true;
- if (!done) {
- // postMessage('Computing');
- } else {
- let workerResult = 'Result: ' + primes;
- // console.log('Worker: Posting message back to main script');
- postMessage(primes);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement