JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/q.js/1.0.0/q.js"></script>

JavaScript

function getOriginalString() {
    var deferred = Q.defer();
    deferred.resolve("An original string");
    return deferred.promise;
}

function uppercase(x) {
    var deferred = Q.defer();
    deferred.resolve(x.toUpperCase());
    return deferred.promise;
}

getOriginalString()
.then(uppercase)
.then(function(result) {
    console.log(result);    
})
.done();