JSFiddle - React, Tailwind, and code Playground

by Noseratio

HTML

<pre id="output"></pre>

JavaScript

// http://stackoverflow.com/a/21524239/1768303

(function () {
    "use strict";
    
    var output = document.getElementById("output");
    var outputText = document.createTextNode("");
    output.appendChild(outputText);
    
    function printOutput(line) {
        outputText.data += line + "\n";
    }
    
    function firstFunction()
    {
        var deferred = $.Deferred();
        
        var i = 0;
        var nextStep = function() {
            if (i<10) {
                // Do something
                printOutput("Step: " + i);
                i++;
                setTimeout(nextStep, 500); 
            }
            else {
                deferred.resolve(i);
            }
        }
        nextStep();
        return deferred.promise();
    }
    
    function secondFunction()
    {
        var promise = firstFunction();
        promise.then(function(result) { 
            printOutput("Result: " + result);
        });
    }
    
     secondFunction();
    
})();