JSFiddle - React, Tailwind, and code Playground

HTML

<script src="bluebird.js"></script>
<div id="output"></div>

JavaScript

//plain javascript 

var step1 = function () {
    console.log("This is step 1, args=", arguments);
    return "ret 1";
};
var step2 = function () {
    console.log("This is step 2, args=", arguments);
    return "ret 2";
};

var step3 = function () {
    console.log("This is step 3, args=", arguments); 
    return "ret 3";
};

var deferred = Q.defer();
var promise0 = deferred.promise;
var promise1 = promise0.then(step1);
var promise2 = promise1.then(step2);

deferred.resolve("foo");