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

标签 javascript node.js

我正在读取一个大文件 (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();
});

关于javascript - 逐行读取文件,完成后执行一些操作(NodeJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45153222/

相关文章:

node.js - 检查 node.js 中是否存在符号链接(symbolic link)

node.js - 使用 PORT=XXXX 启动 Node 永久脚本

javascript - ionic 2 : Run a background task

javascript - 在 JavaScript 对象数组中查找某些键的重复项并将相关键设置为 true

javascript - 如何搜索 HTML 的每一部分

node.js - 如何对多个主机名使用同一个 Express session ?

javascript - Tampermonkey 忽略@exclude

javascript - 在 SVG 元素中保留变换

javascript - 包含的帮助程序类上的 Node 引用错误

javascript - Socket.io TypeError : this. 传输未定义