小编典典

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

all

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

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

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


阅读 143

收藏
2022-07-09

共1个答案

小编典典

(这个答案来自几年前,当时它是最好的答案。现在下面有一个更好的答案。我没有跟上node.js,我无法删除这个答案,因为它被标记为“在这个问题上是正确的”
“。如果你想向下点击,你想让我做什么?)

关键是使用Readable
Stream
data的andend事件。收听这些事件:

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

当您收到data事件时,将新的数据块添加到为收集数据而创建的 Buffer 中。

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

2022-07-09