Queue

by Bacher

JavaScript

var def = $.Deferred();
def.resolve();

[1, 2, 3, 4].forEach(function(el) {
    def = def.then(function() {
        return anyAsyncFunc(el);
    });
});

function anyAsyncFunc(el) {
    var d = $.Deferred();
    
    setTimeout(function() {
        d.resolve();
        console.log('eee', el);
    }, 1000);
    
    return d.promise();
}