仅处理流的前x个字节,保留流内容

问题描述 投票:0回答:1

我有一个接收流的函数

function processStream(stream) {

}

[其他东西会在函数执行后处理此流,因此需要将其保留完整。此功能仅需要流的前20个字节(可能为千兆字节长)即可完成其处理。我可以通过:

function processStream(stream) {
    const data = stream.read(20)

    return stream
}

但是通过消耗这20个字节,我们已将流更改为将来的功能,因此我们对其进行了重新组合。最快的方法是什么?

node.js stream
1个回答
0
投票

最后,我选择了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
}
© www.soinside.com 2019 - 2024. All rights reserved.