Node.js 为什么CreateReadStream没有触发错误事件?

Node.js 为什么CreateReadStream没有触发错误事件?,node.js,csv,npm,node-csv-parse,Node.js,Csv,Npm,Node Csv Parse,我正在尝试对csv文件执行一些错误处理。将文件名更改为不存在的名称时, 错误:enoint:没有这样的文件或目录,打开“testdat.csv”会显示,但不会触发on Error事件 以下是当前的实施情况: const csv = require('csv-parser'); const fs = require('fs'); fs.createReadStream('testdat.csv') .pipe(csv()) .on('open', () => { }

我正在尝试对csv文件执行一些错误处理。将文件名更改为不存在的名称时,
错误:enoint:没有这样的文件或目录,打开“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);
});

在进行管道之前,需要附加错误事件处理程序

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);
});