Ich versuche, einige Dateien asynchron mit der Warteschlange d3 zu laden, zu verschieben und abzuwarten. Das Problem versucht, so in einer Schleife zu tun, und für jedes Element in der Schleife, speichert die abgerufenen Daten im Wörterbuch:festen Parameter hinzufügen, um Callback zu erwarten
var myDictionary = {};
// e.g. hierarchy = ["State", "County"]
hierarchy.forEach(function(geo) {
queue()
.defer(d3.json, 'assets/data/geo/' + geo + '/' + geo + '.json')
.defer(d3.csv, 'assets/data/geo/' + geo + '/' + geo + '_info.csv')
.await(myFunc);
});
function myFunc(error, jsonData, csvData) {
// need access to geo
console.log(geo);
myDictionary[geo].jsonData = jsonData;
myDictionary[geo].csvData = csvData;
}
in myFunc, würde ich Zugang gerne in den entsprechenden Tasten zu füllen, um geo in das Wörterbuch, jedoch übergibt sie innerhalb .await.myFunc(geo)
würde undefined
in myFunc drucken.
Ich weiß nicht, ob dieses Problem zu Javascript Callback-Funktionen, oder D3 wartet(), oder beides.
Irgendwelche Empfehlungen?
Dank
Ich werde diesen Ansatz verwenden, danke! – Khorkhe