대용량 csv 파일 (GB 단위)을 청크로로드하려고합니다. 다음 코드 :370 번째 반복 후 Async await in 루프가 중지됩니다.
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;
});
});
reader.nextline는() while 루프가 실행되는 경우에도 라인 (370)의 작동이 중지 후. 그러나 내가 코드를 바깥에서 기다리면 코드가 제대로 작동하는 것 같습니다. 왜 이런 일이 일어나는가?
함수는 모든 경우에 약속을 반환하지 않습니다. – Pointy