With closure
by _abl
JavaScript
for (i=0;i<4;i++) {
var promise = doTimeout();
(function(){
var myIndex = i;
promise.then(function() {
log("Card saved:" + myIndex);
}, 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");
}