Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 逐行读取文件,完成后执行一些操作(NodeJS)_Javascript_Node.js - Fatal编程技术网

Javascript 逐行读取文件,完成后执行一些操作(NodeJS)

Javascript 逐行读取文件,完成后执行一些操作(NodeJS),javascript,node.js,Javascript,Node.js,我正在读取一个大文件(19MB),并将数据插入我的mongoose数据库。一切都很好,除了在文件中迭代完成之外,我的控制台就在那里。我将如何告诉我的程序使控制台退出,或在完成时执行一个函数 function prepareDatabase(){ let lineReader = require('readline').createInterface({ input: require('fs').createReadStream('names.tsv') }); lineRe

我正在读取一个大文件(19MB),并将数据插入我的mongoose数据库。一切都很好,除了在文件中迭代完成之外,我的控制台就在那里。我将如何告诉我的程序使控制台退出,或在完成时执行一个函数

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?!
}

行读取器在读取整个文件时确实有一个回调

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

关闭数据库连接或
进程。退出
谢谢!尽管我不得不将其更改为process.exit();到work@Raven没问题。如果你需要的话,只要把答案标对就行了。这样问题就完整了。