我试图在块中加载一个大的csv文件(GB的大小)。代码如下:第370次迭代后异步等待循环停止
lineReader.open(filename,async function(err, reader) {
if (err) throw err;
var dataArr=[];
while (reader.hasNextLine()) {
reader.nextLine(function(err, line) {
if(err) throw err;
console.log(line);
dataArr.push(csv_parse(line,headers));
});
console.log(dataArr.length);
if(dataArr.length == 3000){
console.log(JSON.stringify(dataArr));
await timeout(6000);
console.log("timeout");
dataArr = [];
}
}
reader.close(function(err) {
if (err) throw err;
});
});
即使执行while循环,reader.nextline()在370行后停止工作。然而,当我移动等待代码似乎工作正常。这是为什么发生。
您的功能并非在所有情况下都返回的承诺。 – Pointy