1

在我的程序中,我有一个可读的Stream source,它从共享的字节数据流中发出数据事件。然后我解释数据以提取Buffer对象,然后将它们传递给适当的函数。将 s传递给我的程序其余部分的最优雅的方法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

编辑:我认为答案与stream.js源代码中的这一行有关

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+ 解决方案。

4

1 回答 1

0

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

于 2013-09-26T08:54:08.543 回答