我正在使用nodeJs的csv模块来解析一个10000条记录的大csv,在每条记录上,即.on('record',func),我必须实现一个耗时的逻辑。但是节点不会等到我完成。我该怎么办?docu讨论了http://www.adaltas.com/projects/node-csv/ pause()和resume()。但是我在哪里使用它呢?
var csv = require('csv');
var fs = require('fs');
csv()
.from.stream(fs.createReadStream(__dirname+'/sample.in'))
.to.path(__dirname+'/sample.out')
.transform( function(row){
row.unshift(row.pop());
return row;
})
.on('record', function(row,index){
//Time consuming logic goes here
})
.on('end', function(count){
console.log('Number of lines: '+count);
})
.on('error', function(error){
console.log(error.message);
});
2条答案
按热度按时间efzxgjgh1#
我终于把它修好了。感谢node-csv开发人员
nimxete22#
这是我如何在nodejs中使用fast-csv模块来处理大文件。