JSFiddle - React, Tailwind, and code Playground
JavaScript
var myTestTimeout = function(i, deferred) {
if (!deferred) {
deferred = $.Deferred();
}
if (i < 3) {
i++;
console.log("Recursion (" + i + ")!");
setTimeout(function() {
return myTestTimeout(i, deferred);
}, 500);
} else if (i === 3) {
console.log("Resolving!");
return deferred.resolve("Woohoo, reached " + i + "!");
}
}
myTestTimeout(0).done(function(result) {
console.log(result);
});