在节点js中解析数据时发送到客户端后无法设置headers

Cannot set headers after they are sent to the client while parsing data in node js

我正在使用 csv 解析器读取 csv 文件并将接收到的 csv 文件数据传递给 ejs 模板文件进行打印,因此数据采用 object 格式,所以我使用了 stringyfy 但因此出现错误.

错误:

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client:

节点js代码

app.get('/', function (req, res, next) {
    fs.createReadStream('./Employee.csv')
        .pipe(csv())
        .on('data', function (rows) {
            try {
            var ParsedData=  data:JSON.stringify(rows);
                 res.render('Emp_details',{data:ParsedData});
            }
            catch (err) {
                //error handler
            }
        })
        .on('end', function () {
            //some final operation
        });


});

在 ejs 模板文件中打印数据的代码:

<% for(var i = 1; i<= data1.length; i++) { %>
         <%=i %>
       <% } %>
    

您收到错误消息是因为 res.render 只能调用一次,但您在 每次 data 事件触发时都调用它。

收集完所有数据后,您需要在注释的地方调用它//some final operation