我正在入侵一个 node 程序,该程序使用smtp-protocol
来捕获SMTP邮箱并对邮件数据进行操作.库以流的形式提供邮件数据,我不知道如何将其转换为字符串.
我目前正在用stream.pipe(process.stdout, { end: false })
将其写入stdout,但正如我所说的,我需要字符串形式的流数据,一旦流结束,我就可以使用它.
如何从一个 node 收集所有数据.将js流转换成字符串?
我正在入侵一个 node 程序,该程序使用smtp-protocol
来捕获SMTP邮箱并对邮件数据进行操作.库以流的形式提供邮件数据,我不知道如何将其转换为字符串.
我目前正在用stream.pipe(process.stdout, { end: false })
将其写入stdout,但正如我所说的,我需要字符串形式的流数据,一旦流结束,我就可以使用它.
如何从一个 node 收集所有数据.将js流转换成字符串?
(这个答案是几年前的,当时它是最好的答案.现在下面有一个更好的答案.我没有跟上node.js的进度,我不能删除这个答案,因为它标记为"关于这个问题的正确答案".如果你想下击,你想让我做什么?)
关键是使用Readable Stream的data
和end
事件.听下面这些事件:
stream.on('data', (chunk) => { ... });
stream.on('end', () => { ... });
当您收到data
事件时,将新的数据块添加到为收集数据而创建的缓冲区中.
当您收到end
事件时,如有必要,将完成的缓冲区转换为字符串.然后做你需要做的事情.