JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<div id="someDiv">

</div>

CSS

#someDiv {
  width: 100px;
  height: 100px;
}

JavaScript

var nbCall = 0;

    function foo() {
        var wait = 0;
        $('#someDiv').css({'background-color': 'red'});
    
        //wait 1000ms
        wait = wait + 1000;
        setTimeout(function(){
            $('#someDiv').css({'background-color': 'blue'});
        }, wait);
    
        //wait 1000ms
        wait = wait + 1000;
        setTimeout(function(){
            if (nbCall++ > 5) { 
                 console.log('doSomething');
            }
            else {
                foo();
            }
        }, wait);
    }
    foo();