首页 > 解决方案 > 推送项目后数组为空(同步)

问题描述

我正在尝试从 nodejs 中的 .txt 文件中读取文件,当我访问每一行时,我将其推送到一个数组中,但最后,该数组为空。

var array=[];

  let lineReader = require('readline').createInterface({
    input: require('fs').createReadStream('file.txt')
  });
  
  lineReader.on('line', function (line) {
    console.log(line);
    array.push(line);
  });

console.log(array);

.txt 文件内容

THIS IS LINE#1
THIS IS LINE#2
THIS IS LINE#3

输出

[]
THIS IS LINE#1
THIS IS LINE#2
THIS IS LINE#3

标签: node.js

解决方案


问题是事情是异步发生的。您需要为close事件添加一个侦听器。

lineReader.on("close", () => {
    console.log(array);
})

推荐阅读