Nodejs 数组未按预期工作
Nodejs array not working as expected
我正在尝试从文本文件中读入并将它们存储在我的 Lease 类的数组中。如果我从最后一个循环内部控制台.log(),它将为每个迭代打印当前状态的循环。但是如果我移动控制台.log它会在循环之外打印一个空数组。
按预期工作
const readline = require('readline'),
fs = require('fs');
function Lease(renter, unit) {
this.unit = unit;
this.renter = renter;
}
var list = [];
var rl = readline.createInterface({
input: fs.createReadStream('input.txt'),
output: process.stdout,
terminal: false
});
rl.on('line', function(line) {
var values = line.split(' - ');
list.push(new Lease(values[0], values[1]));
console.log(list);
});
打印空数组
const readline = require('readline'),
fs = require('fs');
function Lease(renter, unit) {
this.unit = unit;
this.renter = renter;
}
var list = [];
var rl = readline.createInterface({
input: fs.createReadStream('input.txt'),
output: process.stdout,
terminal: false
});
rl.on('line', function(line) {
var values = line.split(' - ');
list.push(new Lease(values[0], values[1]));
});
console.log(list);
在
第一个版本中,console.log()
在回调函数中,它将在调用回调函数时执行。
但是,在第二个版本中,console.log()
将在执行on.('line'
的回调函数之前调用...
回调函数是异步的,直到当前堆栈为空才会执行......
相关文章:
- Var工作,但在使用数组执行相同操作时停止
- 2D数组在Angular JS 1.2.x中工作,而不是在1.3.x中工作
- 为什么AngularJS$scope.watch()在我告诉它监视数组时会停止工作
- 如何制作Javascript's减少对数组数组的方法工作
- 试着让数组工作
- 如何让Knockout可观察数组与jQuery对话框一起工作
- 当许多元素相等时,Javascript数组排序无法正常工作
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- 从数组中随机选择,但在for循环中选择是不可能的;没有按预期工作
- map() 函数如何在数组上工作
- Javascript数组未按预期工作
- 如何在谷歌工作表中使用数组公式时使用getLastRow.我可以让它忽略一列吗
- Web工作程序在处理大型数组时内存不足
- Polymer v1.3.1数据绑定无论是否使用带有重复模板和json数组的iron ajax都无法工作
- Knockout.js多个可观察数组不工作
- 解析数组时 for 循环无法正常工作
- ngRepeat:dupes 使用名为“name”的数组在中继器中复制键.用其他名称,它是工作
- 谷歌地图API v3动态标记,帮助使数组工作
- js 数组排序无法正常工作
- JavaScript发送变量,但插入数组PHP不能正常工作