I would like to pass extra value to promise .done
. The problem is that console.log(dataToDownload)
always prints "b"
.
var downloadData = {
'a': 'http://www.aaa.aa?callback=?',
'b': 'http://www.bbb.bb?callback=?',
}
var promises = [];
for (dataToDownload in downloadData){
promises.push($.get(downloadData[dataToDownload], {}, null, 'jsonp')
.done(function(results){
console.log(dataToDownload)
console.log(results);
}))
}
$.when.apply($, promises).done(function(){
console.log('Downloaded!')
})
I've tried IIFE:
.done( (function(id){
console.log(id)
console.log(results);
})(dataToDownload); ))
But I don't know how to pass 'results' to IIFE.
What would be the best solution to be able to access both: results
and dataToDownload
inside .done
?