JSFiddle - React, Tailwind, and code Playground

HTML

<div id="dv">
  <span id="spn">
    <button id="btn">call()</button>
  </span>
</div>

JavaScript

function doNothing(ms) {
    var start = Date.now(),
        now = start;
    while (Date.now() - start < ms) {}
}

var i = 0;

function genCall(el){
  return function call(){
    setTimeout(()=> {console.log('timeout', el, i)}, 0);
    i++;
    console.log('started',el, i, Date.now());
    doNothing(1000);
    console.log('finished',el, i, Date.now());
  }
}

document
.getElementById("btn")
.addEventListener("click", genCall('btn'));

document
.getElementById("btn")
.addEventListener("click", genCall('btn'));

document
.getElementById("spn")
.addEventListener("click", genCall('spn'));

document
.getElementById("dv")
.addEventListener("click", genCall('dv'));