我正在入侵smtp-protocol用于捕获SMTP电子邮件并处理邮件数据的Node程序。该库将邮件数据作为流提供,但我不知道如何将其转换为字符串。
smtp-protocol
我目前正在使用将其写入stdout stream.pipe(process.stdout, { end: false }),但是正如我所说,我需要将流数据替换为字符串,一旦流结束,就可以使用它。
stream.pipe(process.stdout, { end: false })
如何将所有数据从Node.js流收集到字符串中?
关键是使用Readable Stream的data和end事件。听这些事件:
data
end
stream.on('data', (chunk) => { ... }); stream.on('end', () => { ... });
收到data事件后,将新的数据块添加到为收集数据而创建的缓冲区中。
收到end事件时,如有必要,将完成的Buffer转换为字符串。然后做你需要做的。