我从未在 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()
但事实并非如此。是否有一些内置流可用于编写它读取的任何内容?我一直在寻找一个没有成功的库(尽管有一些东西可以工作,但似乎有点矫枉过正)。
直通流来实现:
var PassThrough = require('stream').PassThrough
var stream = new PassThrough
var csvwriter = csv.createCsvStreamWriter(stream)
现在你可以从stream
阅读所写的任何内容