ich auf diesem Code gerade arbeite:JS - Wie funktioniert Web Workers?
JS
<script src='file://C:\blablabla\JavaScript\bignumber.js-master\bignumber.js'></script>
<script>
document.write("<h1>\"blabla\"</h1>\n<h3>blabla</h3>");
function problem(){
var img = document.getElementById('problemi');
return img.style.display = img.style.display === 'block' ? 'none' : 'block';
}
function problem551(){
problem();
var t0 = performance.now();
var max = 1e+15;
var sum = new BigNumber(1);
for(var i=1;i<max;i++)
sum = sum.plus(scomponi(sum,0));
var t1 = performance.now();
document.getElementById("p551").innerHTML = 'blabla<span>'+max+"</span> blabla <span>" + sum +"</span> in <span>"+(t1 - t0)/1000+"</span> blaaa";
}
function scomponi(num,sum){
var str=num.toString();
for(var i = 0 ; i< str.length ;i++){
sum += parseInt(str[i]);
}
return sum;
}
</script>
HTML
<body>
<div>
<button onclick="problem551()" >PROBLEM 551</button>
<img id="problemi" src="PROBLEM551.png" style="display: none;">
<p id="p551"></p>
</div>
</body>
Aber Chrome stürzt, gibt es mir diese:
Wie kann ich diesen Fehler bei meiner Funktion verhindern, er hat eine Schleife von 1 bis 1e + 15, es dauert also zu viel Zeit. Ich habe etwas über WEBARBEITER gelesen, ist aber für mich nicht angemeldet. Ich möchte es auf meine Funktion verwenden problem551(), so kann mir jemand erklären, wie es funktioniert?
Web-Mitarbeiter werden für ressourcenintensive Aufgaben empfohlen, nicht unbedingt für langwierige Aufgaben. Zuerst sollten Sie sehen, ob Sie die Leistung Ihres vorhandenen Codes verbessern können. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers –
In diesem Fall 'var myWorker = new Worker (" worker.js ");' wenn ich meine Funktion isteand verwenden möchte von worker.js? – Teshtek
Was genau versuchen Sie dort? – Cerbrus