【node.js】サーバサイドjavascript 5【Nashorn】at TECH【node.js】サーバサイドjavascript 5【Nashorn】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト760:デフォルトの名無しさん 22/02/19 23:48:14.35 ukL0Abnm.net for await (const chunk of stream(foo)) { response.write(chunk); } response.end(); ↑みたいな感じでレスポンスに直接書いてってるやつって、一旦に変数に入れることって可能? const chunks; for await (const chunk of stream(foo)) { // chunksにchunkを書き込んでいく } response.write(chunks); res.end(); ↑こんな感じに書きたくてさ レスポンスのサイズを減らしたくてzlibのコード見たらレスポンスを直接圧縮するんじゃなくて、オブジェクトを圧縮してそんでレスポンスにパイプって感じに見えたもんで ただ書き方がよく分からんくてね 761:デフォルトの名無しさん 22/02/20 02:19:47.65 flSfy5Gd.net そんな感じのコードでやれると思うけど ただ局所的な負荷を避けるStreamの利点が消えちゃうぞ 762:デフォルトの名無しさん 22/02/20 02:30:31.20 r6gz02kC.net > レスポンスにパイプ stream.pipeline()関数を使えってこった 763:デフォルトの名無しさん 22/02/20 03:59:37.87 Y4d5gioW.net >>760 chunksに貯め込んでからzlib.gunzip()やzlib.inflate()を呼んでいたらメモリの無駄遣い そこでzlib.createGunzip()やzlib.createInflate()で変換用streamを作って使う それも昔はinput_stream.pipe(transform_stream).pipe(ourput_stream)と多段に繋げていたが しかし速度差がある時のバッファリング問題もあるため一気に協調させることになり 今はpipeline(input_stream, transform_stream, ourput_stream, cb) と好きなだけ並べて書く 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch