我正在使用node和express创建一个简单的应用程序,它接受一个计划的CSV文件,将其转换为JSON,并在浏览器中显示它。
但是,我遇到了能够在单个服务器实例中多次下载CSV文件的问题。
预期的行为是浏览器命中路由,服务器运行从远程服务器检索CSV文件的功能。这在服务器第一次启动后运行正常,但无法再次检索CSV。
有问题的路线:
router.get('/', function(req,res,next) {
getCsv.fromURL('exampleUrlHere/thing.csv', 'data/schedule.json');
res.render('index');
});
这是我给它打电话的帮手:
var fs = require('fs');
var request = require('request');
var Converter = require("csvtojson").Converter;
var csvToJson = new Converter({});
module.exports = {
fromURL: function(csvFile, destination) {
request.get(csvFile).pipe(csvToJson);
csvToJson.on("end_parsed", function (jsonObj) {
console.log(jsonObj);
fs.writeFile(destination, JSON.stringify(jsonObj),'utf8');
console.log('JSON written from ' + csvFile + ' to ' + destination);
});
},
asJSON: function() {
var obj = JSON.parse(fs.readFileSync('data/schedule.json', 'utf8'));
return obj;
}
};
有人可能会对第一次运行后请求失败的原因有所了解吗?