I have a function that calls the readFiles function, and parses the data into data{}, but once outside the loop, data == {}, and that is not what I am trying to achieve. Any pointers of where I should be looking?
    data = {};
    readFiles({
        dirname: path.join(__dirname, '../ping/'), onFileContent: (filename, content) => {
            data[filename] = content;
            console.log(data);
        }, onError: function (error) {
           console.log(error);
        }
    });
    console.log(data);
As I stated, the console.log(data) at the end has {} as it's value.
Here is readFile
function readFiles(parameters) {
    var dirname = parameters.dirname;
    var onFileContent = parameters.onFileContent;
    var onError = parameters.onError;
    fs.readdir(dirname, (err, filenames)=>{
        if (err) {
            onError(err);
            return;
        }
        filenames.forEach(filename => {
            return fs.readFile(path.resolve(dirname, filename), 'utf-8', (err, content)=>{
                if (err) {
                    onError(err);
                    return;
                }
                onFileContent(filename, content);
            });
        });
    });
}
If I change the second block to use readFileSync, I get errors that I have no idea how to correct.
