0
我正在研究一个节点项目,它使用户能够上传.csv文件,然后将其添加到mongo数据库中。我使用不同的模块工作,但使用大文件时,它会在所有数据处理完之前完成读取和重定向用户。我认为promised-csv会帮助解决这个问题,但是我很难弄清楚如何设置它。这是目前的设置:使用promised-csv来处理非常大的csv文件
app.post('/import', isLoggedIn, function(req, res) {
var reader = csv.createCsvFileReader(req.files.spreadsheet.path, {columnsFromHeader:true, 'separator': ','});
reader.addListener('data', function(data) {
//do stuff with data here.
})
reader.addListener('end', function(){
fs.unlink(req.files.spreadsheet.path, function(err) {
res.redirect('/');
})
})
});
我想我应该澄清更好。 CSV的文件大小并不是很大,但它包含大量只包含约8列信息的行。我会说包含2000多行的测试文件是我遇到问题的地方。 – user3307654
无论如何,如果可以按行进行处理而不是完整的文件块,那么通过不阻止它可以更好地实现事件循环。 –