My program generates a Graph from the data of a csv file, however I don't know how to wait for the function to finish. I always get an empty graph back {}
. It seems to be a matter of async/await, however I can't get it to work. The console output of the generateGraph()
function seems correct, but it is printed after the empty object returns.
function parseCsvAndGenerateGraph(){
var graph = {};
fs.readFile("./test.csv", function (err, fileData) {
parse(fileData, {delimiter:";", trim: true}, function(err, rows) {
graph = generateGraph(rows);
})
});
return graph;
}
Here is where I call the function.
app.post('/', (req, res) => {
var start = req.body.start;
var end = req.body.end;
var graph = parseCsvAndGenerateGraph());
bfs(graph, start, finish);
})
How can I await the correct output of parseCsvAndGenerateGraph()?