JSFiddle - React, Tailwind, and code Playground
HTML
<button id=start>Start</button><button id=end>End</button><div id=display></div>
JavaScript
var array = [];
for (var i = 0; i < 1000000; i++){
array.push(i);
}
var terminate;
var j = 0;
function loop(){
if (terminate){
return;
}
$('#display').text(j);
j++;
if (j < array.length)
setTimeout(loop, 1);
}
$(document).ready(function(){
$('#start').on('click', function(){
terminate = false;
setTimeout(loop, 1);
});
$('#end').on('click', function(){
terminate=true;
});
})