【发布时间】:2014-05-29 12:50:33
【问题描述】:
我正在使用 nodeJs csv 模块来解析 10000 条记录的大 csv 和每条记录,即 .on('record', func),我必须实现一个耗时的逻辑。但是节点不会等到我完成。我该如何处理?该文档谈到http://www.adaltas.com/projects/node-csv/ 暂停()和恢复()。但是我在哪里使用它呢?
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);
});
【问题讨论】:
-
你的节点版本是多少? 10x 之前的节点对可读流有不同的暂停和恢复实现。
标签: javascript node.js csv