0

我从来没有在 Node.js 中使用过流,所以如果这是微不足道的,我提前道歉。


我正在使用该ya-csv库来创建 CSV。我使用这样的一行:

csvwriter = csv.createCsvStreamWriter(process.stdout)

据我了解,当我添加记录时,这需要一个可写文件Stream并写入它。


我需要将此 CSV 用作电子邮件附件。

nodemailer的文档,这里是如何做到这一点:

attachments: [
    {   // stream as an attachment
        fileName: "text4.txt",
        streamSource: fs.createReadStream("file.txt")
    }
]

据我了解,这需要一个可读的Stream并从中读取。


问题就在于此。我需要一个可读的Stream,我需要一个可写的Stream,但在任何时候我都没有Stream.

如果ya-csv有一个会很好:

csvwriter = csv.createReadableCsvStream()

但事实并非如此。是否有一些内置流可用于写入它读取的任何内容?我一直在寻找一个没有成功的图书馆(虽然有一些东西可以工作但看起来有点矫枉过正)。

4

1 回答 1

1

您可以为此使用 PassThrough 流:

var PassThrough = require('stream').PassThrough
var stream = new PassThrough
var csvwriter = csv.createCsvStreamWriter(stream)

现在您可以阅读stream所写的任何内容

于 2014-01-05T08:20:01.077 回答