我有一个接收流的函数
function processStream(stream) {
}
[其他东西会在函数执行后处理此流,因此需要将其保留完整。此功能仅需要流的前20个字节(可能为千兆字节长)即可完成其处理。我可以通过:
function processStream(stream) {
const data = stream.read(20)
return stream
}
但是通过消耗这20个字节,我们已将流更改为将来的功能,因此我们对其进行了重新组合。最快的方法是什么?
最后,我选择了combined-streams2
来快速高效地合并我的视频流:
const CombinedStream = require('combined-stream2')
function async processStream(stream) {
const bytes = stream.read(2048)
const original = CombinedStream.create()
original.append(bytes)
if (!stream._readableState.ended) {
original.append(stream)
}
return original
}