Estoy usando el analizador csv para leer el archivo csv y pasar los datos recibidos del archivo csv al archivo de plantilla ejs para imprimir, de modo que los datos estén en formato de objeto, por lo que usé stringyfy pero obtuve un error debido a esto.
Error:
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client:código de nodo 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 }); });Código para imprimir datos en el archivo de plantilla ejs:
<% for(var i = 1; i<= data1.length; i++) { %> <%=i %> <% } %>Está recibiendo el error porque res.render solo se puede llamar una vez, pero lo está llamando cada vez que se activa el evento data .
Debe llamarlo donde coloca el comentario //some final operation después de recopilar todos los datos.