JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd >

<html>
    
    <head>
        
        <script type='text/javascript'  >
            <!-- see above -->
        </script>
        <title>
            
            Javascript Phased Execution Test Page
            
        </title>
        
    </head>
    
    <body>
        
        <div id='target' style='float:left ; height:10em ; width:10em ; padding:0.5em 0 0 0; font-size:2em ; text-align:center ; font-weight:bold ; color:#eee ; background:#888;border:0.1em solid #555 ; -webkit-border-radius:0.5em ;' >
            Test Div
        </div>
        
        <div style="float:left;" >
            <input type="button" value="tieCalls()" onmousedown="var myMeta = new meta() ; var myCll = new myMeta.cllFnc('target') ; new myMeta.tieExc(myCll, function() { myMeta.rcvFnc('target') ; }, function() { alert('this is fun stuff!') ; } ) ;" /><br />
        </div>
        
        <body>
            
            
        </html>

JavaScript

/**/function meta() {
    
    var myMeta = this ;
    
    /**  **/this.cllFnc = function(tgt,lgt) { //!! first function
        
        this.trigger = 0 ;  //!! status flag, initially zero
        var that = this ;   //!! required to access parent scope from inside nested function
        
        var _tgt = document.getElementById(tgt) ; //!! changes the color of the target div to signalize the function's execution
        _tgt.style.background = '#66f' ;
        
        alert('Calling! ...') ;
        
        setTimeout(function() { //!! simulates longer AJAX call, duration 5000ms
            
            that.trigger = 1 ;  //!! status flag, one upon completion
            
        },5000) ;
        
    } ;
    
    /**  **/this.rcvFnc = function(tgt) { //!! second function that should get called upon the first function's completion
        
        var _tgt = document.getElementById(tgt) ; //!! changes color of the target div to signalize the function's execution
        _tgt.style.background = '#f63' ;
        
        alert('... Someone picked up!') ;
        
    } ;
    
    /**  **/this.callCheck = function(obj) {    
        
        return (obj.trigger == 1)   ?   true
            :   false
            ;
        
    } ;
    
    /**  **/this.tieExc = function() {
        
        var functions = arguments ;
        
        var myItv = window.setInterval(function() {
            
            document.getElementById('target').innerHTML = new Date() ; //!! displays date in target div to signalize the interval increments
            
            var myCallCheck = myMeta.callCheck(functions[0]) ; //!! checks property "trigger"
            
            if(myCallCheck == true) { 
                
                clearInterval(myItv) ;
                
                for(var n=1; n < functions.length; n++) {
                    
                    functions[n].call() ;
                    
                }
                
            } else...