問題タブ [node.js-stream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
124 参照

node.js - Node.jsストリームの「読み取り可能」イベントをリッスンすると、ソースが読み取られない

上記のコードは期待どおりに機能し、出力します

しかし、「読み取り可能」イベントにリスナーを追加すると、データが読み取られません。

出力:

ソースの読み取り可能なイベントが発生する前に SourceReader._read が呼び出され、おそらく何も読み取らないようです。しかし、ソース読み取り可能イベントが発生して SourceReader.read() を呼び出しますが、今回は SourceReader._read に入らずに終了します。

なぜそうなのですか?リーダーが読み取り可能なイベントを発生させるソースを持っている場合、読み取り可能なイベントをどのように処理すればよいでしょうか?

回答ありがとうございます。

0 投票する
0 に答える
343 参照

javascript - NodeJS: 読み取り可能なイベントをドレイン イベントと共に使用する

ノードの読み取り可能なストリームを使用して大きなファイル (~800 MB) を読み取ろうとしています。「読み取り可能」イベントをサブスクライブしました。データを取得すると、応答に書き込み、ドレインイベントがデータを再度読み取るのを待ちます。ただし、ドレイン イベントは 3 ~ 4 回しかトリガーされません。何か問題がある場合はお知らせください。

0 投票する
1 に答える
124 参照

node.js - request() が返された後に Node に画像を書き込む方法

これは当然の質問のように思えますが、私は当惑しています。URI でリソースをダウンロードする Node 関数が必要です。ユーザーがどのタイプであるかを指定する必要なく、いくつかの異なるコンテンツタイプで機能する必要があります。

画像になることがわかっている場合にパイプrequestする方法fs.createWriteStreamは知っていますが、リクエストからコールバックを既に呼び出している場合にそれを処理する方法はわかりません。私がいる場所は次のとおりです。

前の質問に対するこの回答は、次のことを示唆しています。

requestただし、取得する応答の種類がまだわからない場合は、「バイナリ」を渡すことはできません。

アップデート

提案された回答によると、イベントハンドラーで「close」を「finish」に変更すると、コールバックが発生します。

これは画像ファイルを書き込みますが、正しくはありません:

ここに画像の説明を入力

0 投票する
1 に答える
298 参照

javascript - Node.js で同時にパイプされた HTTP リクエストを制限する

ファイルを一括ダウンロードするノード スクリプトを作成しています。この例では、これらは各行にファイル名と URL が含まれるファイルの画像です。このスクリプトを数百万の URL までスケールアップしてダウンロードできるようにしたいと考えています。

ノード JS ストリームは、URL リストをパイプで渡し、URL を http 要求し、応答をファイルに書き込むことができるため、これを行うのに適しているようです。

このスクリプトは私のコンピューターをクラッシュさせ、空白の jpg ファイルを書き込んでいます。メソッドはpipe()背圧を処理していないようです。スクリプトはすぐにすべての URL を並行して要求しているようです。多数の URL をダウンロードするためにスケーリングするときに一貫して実行できるように、この同時 HTTP 要求の数を制限するにはどうすればよいですか? ありがとう。

0 投票する
1 に答える
134 参照

build - gulp ストリームの cwd、base、path の名前を変更して、必要に応じて保存するにはどうすればよいですか?

ファイルを含む gulp.src ストリームがあります。

ファイルを次のように保存したい:

必要に応じて保存するために、ストリーム内の cwd、base、および path の名前を変更するにはどうすればよいですか?

0 投票する
1 に答える
1407 参照

node.js - Node.Js Through2 - 変更ストリーム

を使用して Node.js ストリームを実験していますthrough2。index.html ファイルであるストリームがあり、すべての行に a を追加して、index.html の内容を行-------ごとに変更しようとしています。私は持っている:

私が現在抱えている問題は、配列メソッドthis.push()内では利用できません。blah.forEach()index.html ストリームを変更する方法について何か提案はありますか?

0 投票する
1 に答える
2473 参照

node.js - stdin (node.js) からの行またはバッファー全体の読み取り

入力を解析してコンパイルする node.js でインタラクティブなコンソール インターフェイスを開発しています。この目的のために、readline.question を使用しています。

これで、プログラムは、システム シェルから stdin にパイプされた入力を読み取ることもできるようになります。つまり、次のようになります。

入力を解析しますが、readline.question では行ごとに解析します。これにより、別々の行にまたがる一部の入力コードが壊れます。

プログラムの動作を変更して、対話的に使用する場合は (現在のように) 1 行ずつ処理するようにしますが、ファイルをパイプする場合は、ファイル全体を 1 つのチャンクで処理する必要があります。したがって、改行の後にさらにデータが来るかどうかを何らかの方法で確認する必要があります。誰かが私を正しい方向に向けることができますか?

0 投票する
4 に答える
7580 参照

javascript - gulp での vinyl-buffer と gulp-streamify の目的は何ですか?

ドキュメントにあるように、どちらも非ストリーム プラグインをストリームに変換する処理を行っています。

私が理解しようとしているのは、.pipe()何かでメソッドを使用できる場合、それはストリームではないということですか?

もしそうなら、ここで何を何に変換しますか?


ビニールソースストリームの例:

(から: https://www.npmjs.com/package/vinyl-buffer )


gulp-streamify の例:

(から: https://www.npmjs.com/package/vinyl-source-stream )