Проблема в том, что fromFile
является асинхронным, и как только вы вызвали асинхронный код, вы живете в обратном вызове.
Модуль, похоже, не предоставляет альтернативу синхронизации. Ваши варианты:
- Продолжайте логику вашей программы внутри обратного вызова:
csv().fromFile(csvFilePath,function(err,result){
if(err){
console.log("An Error Has Occured");
console.log(err);
}
var json = result;
console.log(json);
// Continue your logic here
// .....
// .....
});
- Использовать async / await
Вы, похоже, используете более старую версию csvtojson
, поэтому вам может потребоваться обновить ее, чтобы использовать это:
(async () => {
var jsons = await csv().fromFile(csvFilePath);
console.log(jsons);
})()
.catch((err) => {
console.log(err);
});
По сути, это оборачивает ваш код в функцию async
. Внутри вы можете использовать возвращаемое значение fromFile
, если используете ключевое слово await
.
- Используйте другой модуль, который поддерживает синхронизированную загрузку, или даже выполняйте синтаксический анализ самостоятельно.