Node.js:管道传输文件时出错

Node.js:管道传输文件时出错,node.js,stream,pipe,Node.js,Stream,Pipe,在节点中“管道化”文件时出现此错误: events.js:160 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at exports._errnoException (util.js:1022:11) at Pipe.onread (net.js:569:26) 这是我的密码: var json_file = fs.createWriteStream(jsonFile), processes = 0,

在节点中“管道化”文件时出现此错误:

events.js:160
  throw er; // Unhandled 'error' event
  ^
Error: read ECONNRESET
at exports._errnoException (util.js:1022:11)
at Pipe.onread (net.js:569:26)
这是我的密码:

var json_file = fs.createWriteStream(jsonFile),
    processes = 0,
    read_ended_flag = false,
    converter = new Converter(params);

let read_csv_file = fs.createReadStream(csvFilePath);

// For each csv line, we get a json doc
converter.on('record_parsed', jsonObj => {
    processes++;

    json_file.write(JSON.stringify(jsonObj) + '\n', () => {
        processes--;

        if(read_ended_flag && processes == 0){
            json_file.end();
            callback();
        }
    });
});

converter.on('end_parsed', () => {
    read_ended_flag = true;
});

read_csv_file
    .pipe(converter);
我试图用or捕捉错误,但还是一样。 此错误仅在处理小文件(>100行)时出现

是否因为在写入新文件之前,读取流已关闭

非常感谢您的建议和帮助

我找到了解决办法!:)

这是由于我的转换器参数(csvtojson模块),我将workerNum设置为4,而不是将1设置为处理小文件

workerNum:工作进程数。辅助进程将使用多核来帮助处理CSV数据。设置为“核心数”,以提高处理大型csv文件的性能。小csv文件保留1。默认值1

是关于csvtojson模块的完整教程


希望它能帮助别人

你简直不敢相信你救了我多少时间。万分感谢