【发布时间】:2020-03-28 14:14:40
【问题描述】:
我无法关闭读取流。我正在使用 csv-parser 模块从 CSV 文件中读取数据,进行一些处理并将数据写入 MongoDB。一切正常,除了我无法退出我的程序。它只是等待,我必须强制退出它。我怎样才能完成它的执行?
const main = () => {
const records = [];
fs.readdir(dataPath, (err, files) => {
if (err) console.log("Failed to read. ", err);
else {
fs.createReadStream(`${dataPath}/${files[0]}`)
.pipe(csv({ skipLines: 7, mapHeaders: ({ header, index }) => _.camelCase(header) }))
.on("data", data => records.push(data))
.on("end", async () => await saveToDB(getSysInfo(files[0]), records));
}
});
};
main();
我尝试在结束后添加.on("close") 事件,但这也无济于事。
【问题讨论】:
-
如果注释掉所有与MongoDB的交互,是否正常完成?
-
不,它没有结束。我尝试删除对 mongodb 的调用,仍在等待。
标签: javascript node.js