为什么 CreateReadStream 没有触发错误事件?
Why is CreateReadStream not firing error event?
我正在尝试对 csv 文件进行一些错误处理。将文件名更改为不存在的名称时,
显示 Error: ENOENT: no such file or directory, open 'testdat.csv'
但未触发 on error 事件。
这是当前的实现:
const csv = require('csv-parser');
const fs = require('fs');
fs.createReadStream('testdat.csv')
.pipe(csv())
.on('open', () => {
})
.on('headers', (headers) => {
validateHeader(headers);
})
.on('data', (data) => {
temp.push(data);
})
.on('end', () => {
validateData(temp);
})
.on('error', (err) => {
console.log(err);
});
您需要在管道之前附加错误事件处理程序。
const csv = require('csv-parser');
const fs = require('fs');
var readable = fs.createReadStream('testdat.csv');
readable.on('error', (err) => {
console.log(err);
});
// pipe function returns different stream
var writable = readable.pipe(csv())
writable.on('error', (err) => {
console.log(err);
});
我正在尝试对 csv 文件进行一些错误处理。将文件名更改为不存在的名称时,
显示 Error: ENOENT: no such file or directory, open 'testdat.csv'
但未触发 on error 事件。
这是当前的实现:
const csv = require('csv-parser');
const fs = require('fs');
fs.createReadStream('testdat.csv')
.pipe(csv())
.on('open', () => {
})
.on('headers', (headers) => {
validateHeader(headers);
})
.on('data', (data) => {
temp.push(data);
})
.on('end', () => {
validateData(temp);
})
.on('error', (err) => {
console.log(err);
});
您需要在管道之前附加错误事件处理程序。
const csv = require('csv-parser');
const fs = require('fs');
var readable = fs.createReadStream('testdat.csv');
readable.on('error', (err) => {
console.log(err);
});
// pipe function returns different stream
var writable = readable.pipe(csv())
writable.on('error', (err) => {
console.log(err);
});