一尘不染

如何将Node.js流的内容读入字符串变量?

node.js

我正在入侵smtp-protocol用于捕获SMTP电子邮件并处理邮件数据的Node程序。该库将邮件数据作为流提供,但我不知道如何将其转换为字符串。

我目前正在使用将其写入stdout stream.pipe(process.stdout, { end: false }),但是正如我所说,我需要将流数据替换为字符串,一旦流结束,就可以使用它。

如何将所有数据从Node.js流收集到字符串中?


阅读 333

收藏
2020-07-07

共1个答案

一尘不染

关键是使用Readable
Stream
dataend事件。听这些事件:

stream.on('data', (chunk) => { ... });
stream.on('end', () => { ... });

收到data事件后,将新的数据块添加到为收集数据而创建的缓冲区中。

收到end事件时,如有必要,将完成的Buffer转换为字符串。然后做你需要做的。

2020-07-07