JS-Timeout

by pw_we1

HTML

<input id="ns" type="number" min="1" value="10000019">
<button id="checkSync">Prim-Sync</button>
<span id="rs">?</span><br>
<input id="na" type="number" min="1" value="1009">
<button id="checkAsync">Prim-Async</button>
<span id="ra">?</span>

JavaScript

$("#checkSync").click(function(){
 $("#rs").html((checkPrime($("#ns").val())));
});
$("#checkAsync").click(function(){
 checkPrime2($("#na").val());
});
function checkPrime(number) {
 if (number < 2) return "Nein";
 for (var i = number-1; i > 1; i--)
  if (number % i == 0) return "Nein";
 return "Ja";
}
function checkPrime2(number, i){
 if (number < 2) $("#ra").html("Nein");
 if (i == undefined) i = number - 1;
 if (i == 1) $("#ra").html("Ja");
 else if (number % i == 0)
  $("#ra").html("Nein");
 else
  setTimeout(function() { 
   checkPrime2(number, i-1); 
  },0);
}