node.js - 推送项目后数组为空(同步)
问题描述
我正在尝试从 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
解决方案
问题是事情是异步发生的。您需要为close
事件添加一个侦听器。
lineReader.on("close", () => {
console.log(array);
})
推荐阅读
- android - Android ToolBar 可以更改后退按钮颜色但不能更改标题颜色
- cmake - 一个库是用 `yum install` 安装的,但不是用 `yum update` 安装的
- sql - 我可以在 sql 触发器的 If 语句中有多个查询语句吗?
- matlab - Matlab中匿名函数定义中的匿名函数调用
- javascript - 如何通过电子邮件发送 PDF,其内容以表格形式显示?
- c++ - 在循环的下一次迭代中重置布尔值
- wordpress - Gulp 的浏览器与 MAMP 同步,未加载图像
- npm - GYP 问题安装 yo hyperledger
- javascript - 如何将数组作为对象数组返回?
- ios - 由于缺少 NSPhotoLibraryAddUsageDescription 而报告应用程序崩溃,但我的应用程序从不使用任何照片