我正在尝试学习使用node.js的javascript,显然并没有完全关闭。 我尝试逐行读取文件,解析该行并将结果放入数组并返回数组。这就是我所拥有的(不太有效):
var fs = require('fs'), Lazy = require('lazy');
function parseMyFile (filename) {
var myArray= [];
var lazy = new Lazy (fs.createReadStream(filename));
lazy
.lines
.map(function(line){
var parts = line.toString().split('|');
var item = {
bucket: parts[1],
uri: parts[2].substring(2),
token: parts[0],
fileDate: parts[3]
};
myArray.push (item);
});
console.log(myArray); // empty
return myArray;
};
var myItems = parseMyFile ('Tokens.csv');
我确定这与闭包有关,只是不太明白。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
这是懒惰列表。它是异步行为的包装器。你试图在填写之前检查清单,所以当然它不起作用。
问题与闭包无关。这都是关于异步行为的。
我在懒惰列表代码中没有看到任何允许通用“完成后”回调的内容。