将stream对象转换为string

我需要存储一个stringstream对象,我试图使用JSON.stringify(stream)但我得到了以下错误:

 TypeError: Converting circular structure to JSON 

所以我试图使用这样的“circular-json”包:

 var o = CircularJSON.parse(CircularJSON.stringify(stream)) 

但是当访问stream写入函数时,我得到一个错误 – o.write is not a function

我怎样才能存储stream对象的string,并parsing它们以后的原始对象?

stream不包含原始数据作为对象的一部分。 相反,它们会将数据作为可以听取的'data'事件的一部分进行发送。 订阅stream的.on事件,当它发出数据时,你可以把它附加到一个string并获取所有的数据。

'end'事件中,您已经完成了所有数据的读取,因此您可以使用'end'事件callback中的数据进行操作。

 let data = ''; stream.on('data', chunk => data += chunk); stream.on('end', doSomethingWithData); 

处理stream可能是复杂的。 为stream -> string ,我推荐使用这个库: https : //www.npmjs.com/package/raw-body