Я загружаю CSV из списка других CSV файлов в javascript, используя D3.
Когда я запускаю следующий код, массив сотрудников по-прежнему остается пустым к моменту его получения в коде. Есть ли правильный способ гарантировать, что D3 завершит загрузку данных до продолжения работы javascript?
var employees = [];
//Retrieve the file list of all the csvs in the data directory, then run a callback on them
function retrieveList(url,callback) {
d3.csv(url,function(data) {
callback(data);
})
}
//Parse a file list, and then update the employee array with the data within
function parseList(filenames){
filenames.forEach(function(d) {
d3.csv(d.filename,function(data) {
data.forEach(function(d) employees.push(d.name));
}
}
}
//Run this code
var filenamesUrl = "http://.../filenames.csv"
retrieveList(filenamesUrl, parseList);
console.log(employees); //This logs "[]"
Если я загружаю страницу в Chrome, когда я перехожу в консоль и регистрирую сотрудников, достаточно вернет массив, заполненный именами. Как я могу сделать это к тому моменту, когда я запустил console.log(сотрудников) в последней строке?