如何自定义管道目标以解析读取流中的数据?

时间:2018-03-23 09:13:47

标签: node.js

我正在使用nodejs来读取一个非常大的csv文件,而我不想将所有这些文件都读入内存。以下是我的代码:

const s = fs
      .createReadStream(url, {
                flags: 'r',
                encoding: 'utf-8',
                fd: null,
                bufferSize: 1
            })
      .pipe( // what should I do here )

我不知道在pipe方法中该怎么做。根据nodejs文档https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options,它需要一个Writable实例。我想知道我是否可以将自定义逻辑作为Writable?

1 个答案:

答案 0 :(得分:0)

对不起。

尚未发表50条评论。


可以写入多个内置函数并进行归档。

https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options


那说你应该看一下API。

https://nodejs.org/api/stream.html#stream_implementing_a_writable_stream

您可以使用chunks

_write(chunk, encoding, callback) {
    if (chunk.toString().indexOf('a') >= 0) {
      callback(new Error('chunk is invalid'));
    } else {
      callback();
    }
  }