Without closure

by _abl

JavaScript

for (i=0;i<4;i++) {
    var promise = doTimeout();
    
    promise.then(function() {
        log("Card saved:" + i);
    }, function(error) {
        log("Uh oh, something went wrong.");
    });
}

function doTimeout(){
    var def = $.Deferred();
    setTimeout(def.resolve, 200);
    return def.promise();
}

function log(text){
    $("<p/>").append(text).appendTo("body");
}