Promise dynamic sequence

by Bacher

JavaScript

getDynamicSequence(5).then(function(res) {
    alert(res);
});


function getDynamicSequence(val) {
    if (val >= 100) {
        return val;
    } else {
        var d = new $.Deferred();
        
        setTimeout(function() {

            $.when(getDynamicSequence(val + 1))
                .then(function(val) {
                    d.resolve(val);
                });
                    
        }, 10);
        
        return d.promise();
    }
}