Deferred with multiple calls

by BeNdErR

JavaScript

var fnDeferred = function(x){
	var deferred = new $.Deferred();
  $.get('https://upload.wikimedia.org/wikipedia/commons/4/4d/Cat_March_2010-1.jpg', function(data){
  	setTimeout(function(){
    	console.log('resolve ' + x);
    	deferred.resolve('google ' + x);
    }, 1000 * x);
  });
  return deferred.promise();
}

var calls = [];
for(var x = 0; x < 5; x++){
	calls.push(fnDeferred(x));
}

$.when.apply($, calls).then(function(res){
	console.log(res);
  console.log(arguments);
});