2017-07-17 67 views
0

我正在读取大文件(19MB)并将数据插入到我的猫鼬数据库中。一切正常,除非迭代通过文件我的控制台刚刚坐在那里。我该如何告诉我的程序让控制台退出,或者在完成时执行一个功能?逐行读取文件,然后在完成时执行一些操作(NodeJS)

function prepareDatabase(){ 
    let lineReader = require('readline').createInterface({ 
    input: require('fs').createReadStream('names.tsv') 
    }); 

    lineReader.on('line',(line)=>{ 
    let elements = line.split('\t'); 
    let Entry = new ChebiEntry(); 
    Entry.name = elements[4] 
    Entry.id = elements[1]; 
    Entry.save(); 
    console.log(`Inserted ${Entry.name}`); 
    }); 
    return; // This does not do anything?! 
} 
+0

关闭db连接或'process.exit' – frozen

回答

1

线阅读器确实有整个文件被读取时的回调。

lr.on('end', function() { 
    process.exit(); 
}); 
+0

谢谢!虽然我不得不将其更改为process.exit();上班 – Raven

+0

@Raven没问题。只要将答案标记为正确,如果这就是你需要的。这样,问题就完成了。 – SimplyComplexable

相关问题