У меня есть такой объект
JSON_DATA = {
"EVENT" : "data/sequence/sequenceEvent.json",
"CHAT" : "data/sequence/sequenceChat.json",
}
Я хотел бы загрузить эти значения, поэтому я делаю это
LoadJSON(JSON_DATA, function(data){
var DATA = data;
});
function LoadJSON(jsons, callback){
var counterLoaded = 0;
var counterToLoad = Object.keys(jsons).length;
var parsedData = {};
for(var key in jsons){
ajax.get(jsons[key], "", function(data){
parsedData[key] = JSON.parse(data);
counterLoaded++;
if(counterLoaded == counterToLoad){
callback(parsedData);
}
}, true)
}
}
Теперь я знаю, что у меня есть проблема закрытия, напримерключ всегда последний.
Но я искал в интернете и ожидал, что setTimeOut ИЛИ подобная функция
function LoadJSON(jsons, callback){
var counterLoaded = 0;
var counterToLoad = Object.keys(jsons).length;
var parsedData = {};
for(var key in jsons){
ajax.get(jsons[key], "", (function(key){
parsedData[key] = JSON.parse(data);
counterLoaded++;
if(counterLoaded == counterToLoad){
callback(parsedData);
}
})(key), true)
}
}
Это не будет работать, но в моей проблеме янеобходимо также передать данные параметров.
Как этого добиться?