当前位置:  开发笔记 > 编程语言 > 正文

暂停Node.js中的可读流

如何解决《暂停Node.js中的可读流》经验,为你挑选了0个好方法。

我正在使用csv-to-json(一个简洁的库来处理CSV文件)。

我有一个用例,其中我需要处理大型(> 200万行)CSV并将其插入数据库。

为了做到这一点而不会遇到内存问题,我打算将CSV作为流进行处理,每10000行暂停该流,将这些行插入DB中,然后恢复该流。

出于某种原因,我似乎无法pause接受。

以下面的代码为例:

const rs = fs.createReadStream("./foo.csv");
rs.pause();

let count = 0;

csv()
.fromStream(rs)
.on("json", (json) => {
  count++;
  console.log(count);
})
.on("done", () => {
  cb(null, count);
})
.on("error", (err) => {
  cb(err);
})

count 被记录了200次(这就是我的CSV中有多少行)-我期望它不记录任何内容,因为在将流传递给之前将其暂停 fromStream()

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有