0
我想学习JavaScript与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');
我敢肯定,这与闭包有关,只是不太明白。任何帮助,将不胜感激。
谢谢!
请详细说明“不太工作”。 – Deestan 2012-08-07 13:09:45
代码本身似乎是正确的......你是否检查了一个'console.log(line)'如果它正在做它应该做的地图? – NicoSantangelo 2012-08-07 13:10:42
@Deestan它是OP的代码,但不是问题文本:“'console.log(myArray); // empty'”。 OP期望'myArray'在空时是非空的。 – apsillers 2012-08-07 13:11:18