JSFiddle - React, Tailwind, and code Playground

JavaScript

var ms = 1000;

 function wait(ms) {
     var done = false;
     function _done() {
         done = true;
         alert('timer: ' + timer + ', done: ' + done);
         clearTimeout(timer);
     }

    
     var timer;
     alert('starting timer');
     while (!done) {
         timer = setTimeout(_done(), ms);
     }
     alert('wait done');
 }

wait(ms);