所有Readline在线(“行”)回调完成后退出流程

时间:2019-03-07 14:10:44

标签: node.js promise async-await

我有一个Node v10.14.1程序,它使用readline Interface

逐行读取CSV文件。

我的.on('line')是一个async回调函数,它执行一些从数据库读取/写入的操作,因此我使用async/await来处理承诺。

该程序感兴趣的代码块的简短版本如下所示:

const readline = require('readline');
const filesystem = require('fs');

const reader = readline.createInterface({
    input: filesystem.createReadStream(pathToSomeCSV)
});

reader.on('line', async (line) => {
  await doSomeDBStuff();
})

如果按照上述方式进行操作,则该过程不会退出。但是,如果我

reader.on('close', () => {process.exit()});

然后,该过程在所有on('line')回调完成和它们的承诺完成之前退出。

我的问题是:有没有办法说“在读取所有行并且完成所有on('line')回调并完成其诺言之后,然后退出该过程(我假设使用process.exit())?

0 个答案:

没有答案