JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://underscorejs.org/underscore.js"></script>
JavaScript
function executePromiseQueueSync(queue){
var seed = $.Deferred(),
finalPromise;
finalPromise = _.reduce(queue, function(memo, promise){
return memo.then(function(){
return promise.funct.apply(null, promise.argmnt);
});
}, seed.promise());
seed.resolve();
return finalPromise;
}
function x(){
var dfd = new jQuery.Deferred();
dfd.notify();
dfd.resolve();
console.log("blah");
return dfd.promise();
}
var promisesQueue = [];
promisesQueue.push({funct: x, argmnt:[]});
promisesQueue.push({funct: x, argmnt:[]});
promisesQueue.push({funct: x, argmnt:[]});
executePromiseQueueSync(promisesQueue).then(function(){
console.log('success');
}, function(){
console.log('failure');
}).progress(function(msg, progress, name, index, status, desc){
console.log('progress');
});