0
.done
sözüne ekstra değer vermek istiyorum. Sorun şu ki, console.log(dataToDownload)
her zaman "b"
'u yazdırıyor.JQuery sözü: dış değişkene erişim veya sonuçların IIFE'ye aktarılması.
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!')
})
denedim hayattan:
.done((function(id){
console.log(id)
console.log(results);
})(dataToDownload);))
Ama hayattaki için 'sonuçları' geçmesine nasıl bilmiyorum.
.done
results
ve dataToDownload
'un her ikisine de erişebilmek için en iyi çözüm ne olurdu?
Zaten 'dataToDownload' erişebilir, kendi sözcüksel kapsamında bulunuyor ... – elclanrs
Sorununuz bu bir http://stackoverflow.com/questions/750486/javascript-closure-inside-loops olabilir -pislak-pratik-örnek – elclanrs
@elclanrs: 'console.log (dataToDownload)' ilk örnekte 'b' basar – LAdas