gpt4 book ai didi

node.js - 如何在我自己的 Node.JS 可读流中实现 setEncoding?

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:24 26 4
gpt4 key购买 nike

在我的程序中,我有一个可读的 Stream source它从共享的字节数据流发出数据事件。然后我解释数据以提取 Buffer对象,然后将它们传递给适当的函数。最优雅的传递方式Buffer我的程序的其余部分似乎正在使用可读的 Stream目的。这样我的函数就可以像独立流一样读取流。

这是我当前的代码:

var stream = new stream.Stream()
stream.readable = true
stream.pause = function () {
source.pause()
}
stream.resume = function () {
source.resume()
}
stream.readable = true
// in a loop, read the data from source stream, dissect the parts we want,
// and emit Buffer objects to the stream's data event.

我该如何实现setEncoding

编辑:我认为答案与 the stream.js source code 中的这一行有关。

<罢工>
Stream.Readable = require('_stream_readable');

此外,正确答案可能是

  • 替换new stream.Streamnew stream.Readable并到
  • 替换stream.emit('data', buffer)
    要么 stream.onread(buffer)stream.push(buffer) 。问题是,我不知道是哪一个。

<罢工>

编辑:stream.Readable在 0.8 版本中不可用。它在 0.9 测试版中可用,并且在 v0.10 稳定版发布后也将可用。这个问题的理想答案将描述 0.8- 解决方案和 0.9+ 解决方案。

最佳答案

使用流2。对于 0.8,有:https://github.com/isaacs/readable-stream

关于node.js - 如何在我自己的 Node.JS 可读流中实现 setEncoding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15076935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com