当我正在编写读取70mb文件行的递归程序时 line和processes。我正在使用递归来处理该行。这是我的代码
function readFile(response, postData){
var instream = fs.createReadStream('filePath');
var datmap={};
var rl = readline.createInterface({
input: instream,
output: outstream,
terminal: false
});
rl.on('line', function(line) {
hirarchyFun(datmap,line);
});
}
hirarchyFun=function(map,line){
var key;
if(line.indexOf(",") != -1){
key=line.substring(0,line.indexOf(","));
var subLine=line.substring((key.length+1));
var internMap=map[key];
if(typeof internMap == 'undefined'){
internMap={};
}
var value=hirarchyFun(internMap,subLine);
map[key]=value;
return map;
}else{
return line;
}
}
当我正在阅读大约70mb的文件时给出错误
FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
但它的文件工作正常约700kb。 任何人都可以帮助解决这个问题吗?