我有一个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()
)?