JSFiddle - React, Tailwind, and code Playground

HTML

<button id="btn">Click me</button>

JavaScript

const DELAY = 5000;
const btn = document.getElementById('btn');

const throttleFn = (fn, delayTime) => {
	let initialTimeStamp = new Date().getTime();
  let isFirstTimeExecution = true;
	return () => {
  	if (isFirstTimeExecution) {
    	fn();
      isFirstTimeExecution = false;
    }
  	const currentTimeStamp = new Date().getTime();
  	if (currentTimeStamp - initialTimeStamp > delayTime) {
    	fn();
      initialTimeStamp = new Date().getTime();
    }
  };
};

btn.addEventListener('click', throttleFn(() => {
	console.log('clicked');
}, DELAY));