JSFiddle - React, Tailwind, and code Playground

JavaScript

let requests = {};

function request(url) {
  const rateInMilliseconds = 2000;
  const requestTime = Date.now();
  const isFirstRequest = (!requests[url]);
  
  // First request? run
  if (isFirstRequest) {
  	console.log('First Request');
    requests[url] = {'lastRequestTime': requestTime};
  } else if ((requestTime - requests[url].lastRequestTime) > rateInMilliseconds) {
		console.log('Subsequent Request', requestTime - requests[url].lastRequestTime);
		requests[url].lastRequestTime = requestTime;
  }
}


function requestTester() {
	request('http://www.google.com');	
	setTimeout(()=> {
		requestTester();
  }, 500);
}

requestTester();