csv 示例
npm i csv-parser --save
const csv = require('csv-parser')
const fs = require('fs')
let counter = 0;
let batch = []
const stream = fs.createReadStream('FILE_PATH')
.pipe(csv())
.on('data', (data) => {
console.log('data', data)
batch.push(data)
counter ++
if(counter > 5000) {
stream.pause()
setTimeout(() => {
// YOUR ASYNC PROCESSING
counter = 0;
batch = []
stream.resume()
}, 5000)
}
})
.on('error', (e) => {
console.error(e)
})
.on('end', () => {
console.log('end');
// YOUR ASYNC PROCESSING
});
txt 示例
npm i line-by-line --save
const LineByLineReader = require('line-by-line')
let counter = 0;
let batch = []
rl = new LineByLineReader('FILE_PATH');
rl.on('line', (line) => {
console.log('line', line)
batch.push(line)
counter ++
if(counter > 5000) {
rl.pause()
setTimeout(() => {
// YOUR ASYNC PROCESSING
counter = 0;
batch = []
rl.resume()
}, 5000)
}
})
.on('error', (e) => {
console.error(e)
})
.on('end', () => {
console.log()
// YOUR ASYNC PROCESSING
})