[英]Access variable outside a function
我想把一个文件的内容放在一个数组中。 但是当我尝试访问变量fileArray
它在lineReader.on
之后为空。 这是代码:
var fileArray=[]
var lineReader = require('readline').createInterface({
input: require('fs').createReadStream('file-to-read')
});
lineReader.on('line', function (line) {
fileArray.push(line)
//console.log(fileArray)
});
// I want to get the array here but it is currently empty
console.log(fileArray)
谢谢
这里的问题是lineReader.on('line', function () {})
是一个事件处理程序 - 即您传递给它的函数在事件发生时被异步调用。 但是,这不会阻止其余代码的执行 - 在您定义 lineReader 事件处理程序之后,下一行将立即执行,然后再将任何内容添加到数组中。 为了获得您想要的结果,您的最终console.log
需要位于'close'
事件处理程序中 - 当输入流结束时将调用该处理程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.