JSFiddle - React, Tailwind, and code Playground
HTML
<div>
<input type="button" value="Click" onClick="buttonHandler()"/>
<div id="progress">I show the activity of the button above</div>
JavaScript
function defer(f, callback) {
var proc = function() {
result = f();
if (callback) {
callback(result);
}
}
setTimeout(proc, 50);
}
function buttonHandler() {
var elm = document.getElementById("progress");
elm.innerHTML = "thinking...";
defer(longPrimeCalc, function (isPrime) {
if (isPrime) {
elm.innerHTML = "It was a prime!";
}
else {
elm.innerHTML = "It was not a prime =(";
}
});
}
function longPrimeCalc() {
function isPrime (n) {
if (n < 2) return false;
var q = Math.sqrt (n);
for (var i = 2; i <= q; i++)
if (n % i === 0)
return false;
return true;
}
return isPrime(1125899839733759);
}