我想将额外的价值传递给承诺.done
。问题是console.log(dataToDownload)
始终打印"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!')
})
我试过IIFE:
.done( (function(id){
console.log(id)
console.log(results);
})(dataToDownload); ))
但我不知道如何将'结果'传递给IIFE。
能够同时访问results
内dataToDownload
和.done
的最佳解决方案是什么?
答案 0 :(得分:0)
console.log(downloadData[dataToDownload])