给定一个解析输入流的函数:
async onData(stream, callback) {
const parsed = await simpleParser(stream)
// Code handling parsed stream here
// ...
return callback()
}
我正在寻找一种简单而安全的方法来“复制”该流,以便我可以将其保存到文件进行调试,而不影响代码。这种方式可行吗?
在伪代码中相同的问题:我正在尝试做一些类似于这样的事情。显然,这是一个虚构的例子,并且不能正常工作。
const fs = require('fs')
const wstream = fs.createWriteStream('debug.log')
async onData(stream, callback) {
const debugStream = stream.clone(stream) // Fake code
wstream.write(debugStream)
const parsed = await simpleParser(stream)
// Code handling parsed stream here
// ...
wstream.end()
return callback()
}
stream.close()
,那么就不需要克隆流。 - 0.shcloneable-readable
这样的东西(我没有在我的答案中包含它,以防止影响我得到的答案)。 - Redsandro