Javascript 从流中获取数据供以后使用

Javascript 从流中获取数据供以后使用,javascript,node.js,csv,stream,Javascript,Node.js,Csv,Stream,我试图从流中获取数据 const csv=require('csv-parser') 常量fs=require('fs') 常量结果=[]; fs.createReadStream('data.csv') .pipe(csv()) .on('data',(data)=>results.push(data)) .on('end',()=>{ console.log(结果) }); 控制台日志(结果); 结果是第一个空[],然后是csv的数据 [] [ { '0': '10-01-2020 14:

我试图从流中获取数据

const csv=require('csv-parser')
常量fs=require('fs')
常量结果=[];
fs.createReadStream('data.csv')
.pipe(csv())
.on('data',(data)=>results.push(data))
.on('end',()=>{
console.log(结果)
});
控制台日志(结果);
结果是第一个空[],然后是csv的数据

[]
[ { '0': '10-01-2020 14:37:20',
    '1': '10-01-2020 18:17:42',
    '2': '13222',
    '3': '00',
    '4': '3.67',
    '5': '36.73',
    '6': '',
    '7': 'Default' },
  { '0': '10-01-2020 09:02:00',
    '1': '10-01-2020 14:02:20',
    '2': '18020',
    '3': '00',
    '4': '5.01',
    '5': '50.06',
    '6': '',
    '7': 'Default' } ]
我想稍后在程序中修改
结果中的数据


我想我遗漏了一些基本的东西。

代码没有问题。您有两个控制台语句。一个在最后,这是什么打印空数组

createReadStream
是一个异步操作,因此之后会触发
end
侦听器上的控制台


如果删除最后一条控制台语句,它将按预期显示结果。

谢谢,只需要提醒一下,Javascript是异步的。非常感谢。请将其标记为答案,以供其他人参考。