本稿では、どのようにしてNode.jsのstream.Readable
を作ったらいいかを示す。
stream.Readable
を作るサンプルコード
const { Readable } = require('stream')
const stream = Readable.from(['hello'])
stream.pipe(process.stdout)
実行結果
hello
説明
Readable.from
メソッドはReadable
オブジェクトを生成するユーティリティメソッドで、第一引数にIterable<any>
またはAsyncIterable<any>
を取る。
上のサンプルコードではArray<string>
を渡しているが、Iterable
は反復処理プロトコルを実装しているオブジェクトなら何でもいいので、配列の他にジェネレーターを渡すこともできる:
const gen = function *() {
yield 'hello'
yield 'world'
}
const stream = Readable.from(gen())