【发布时间】:2019-09-23 15:11:24
【问题描述】:
此代码应该逐行读取文件,获取所需的数据,然后将其放入 timeStamps 数组中。虽然它确实将数据放入数组中,但它会继续通过该函数并在行阅读器填充它之前打印一个空数组。我知道它会填充数组,因为我可以添加 5 秒的超时,然后它会打印出整个数组。如何实现异步函数并等待 linereader?
const lineReader = require('readline').createInterface({
input: require('fs').createReadStream('./data/test.json')
});
let timeStamps = [];
lineReader.on('line', (line) => {
if (line.includes('timestampMs')) {
timeStamps.push(line.toString().substring(21, 34))
console.log(timeStamps) //prints array with each element added one by one
}
});
console.log(timeStamps)//prints empty array
【问题讨论】:
标签: arrays node.js readline fs