JSFiddle - React, Tailwind, and code Playground

by Bhavin Surela

HTML

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.cs"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<div class ="btn btn-default" onclick="pause">
  Pause
</div>

JavaScript

var counter = 0;
var rate  = 0;
var startTime = new Date().getTime();
var waitTime = 0;
var pause = false;
while(counter < 100000 || pause){
	
	 window.setTimeout(function(){
  	if(counter % 125 == 0){
		// check for wait time every 125 counters
    	updateWaitTime();
  	}
      counter ++;
      printRate();
  },waitTime);
  

  
}

function updateWaitTime(){
	var now = new Date().getTime();
  var diff = (now - startTime);
	var currentRatePerSec = (counter/diff)*1000; // convert to secs   
	waitTime = 125/currentRatePerSec; // in secs
}

function printRate(){
	rate = counter / ((new Date().getTime() - startTime)*1000)
	console.log('counter is:'+counter+' print rate:'+rate);
}

function pause(){
 pause = true;
}