1

私のプログラムではStream source、バイトデータの共有ストリームからデータイベントを発行する読み取り可能があります。次に、データを解釈してBufferオブジェクトを抽出し、適切な関数に渡します。Buffers をプログラムの残りの部分に渡す最もエレガントな方法は、読み取り可能な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.Streamと置き換えnew 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