問題タブ [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.
node.js - Node.jsストリームの「読み取り可能」イベントをリッスンすると、ソースが読み取られない
上記のコードは期待どおりに機能し、出力します
しかし、「読み取り可能」イベントにリスナーを追加すると、データが読み取られません。
出力:
ソースの読み取り可能なイベントが発生する前に SourceReader._read が呼び出され、おそらく何も読み取らないようです。しかし、ソース読み取り可能イベントが発生して SourceReader.read() を呼び出しますが、今回は SourceReader._read に入らずに終了します。
なぜそうなのですか?リーダーが読み取り可能なイベントを発生させるソースを持っている場合、読み取り可能なイベントをどのように処理すればよいでしょうか?
回答ありがとうございます。
javascript - NodeJS: 読み取り可能なイベントをドレイン イベントと共に使用する
ノードの読み取り可能なストリームを使用して大きなファイル (~800 MB) を読み取ろうとしています。「読み取り可能」イベントをサブスクライブしました。データを取得すると、応答に書き込み、ドレインイベントがデータを再度読み取るのを待ちます。ただし、ドレイン イベントは 3 ~ 4 回しかトリガーされません。何か問題がある場合はお知らせください。
node.js - request() が返された後に Node に画像を書き込む方法
これは当然の質問のように思えますが、私は当惑しています。URI でリソースをダウンロードする Node 関数が必要です。ユーザーがどのタイプであるかを指定する必要なく、いくつかの異なるコンテンツタイプで機能する必要があります。
画像になることがわかっている場合にパイプrequest
する方法fs.createWriteStream
は知っていますが、リクエストからコールバックを既に呼び出している場合にそれを処理する方法はわかりません。私がいる場所は次のとおりです。
前の質問に対するこの回答は、次のことを示唆しています。
request
ただし、取得する応答の種類がまだわからない場合は、「バイナリ」を渡すことはできません。
アップデート
提案された回答によると、イベントハンドラーで「close」を「finish」に変更すると、コールバックが発生します。
これは画像ファイルを書き込みますが、正しくはありません:
javascript - Node.js で同時にパイプされた HTTP リクエストを制限する
ファイルを一括ダウンロードするノード スクリプトを作成しています。この例では、これらは各行にファイル名と URL が含まれるファイルの画像です。このスクリプトを数百万の URL までスケールアップしてダウンロードできるようにしたいと考えています。
ノード JS ストリームは、URL リストをパイプで渡し、URL を http 要求し、応答をファイルに書き込むことができるため、これを行うのに適しているようです。
このスクリプトは私のコンピューターをクラッシュさせ、空白の jpg ファイルを書き込んでいます。メソッドはpipe()
背圧を処理していないようです。スクリプトはすぐにすべての URL を並行して要求しているようです。多数の URL をダウンロードするためにスケーリングするときに一貫して実行できるように、この同時 HTTP 要求の数を制限するにはどうすればよいですか? ありがとう。
build - gulp ストリームの cwd、base、path の名前を変更して、必要に応じて保存するにはどうすればよいですか?
ファイルを含む gulp.src ストリームがあります。
ファイルを次のように保存したい:
必要に応じて保存するために、ストリーム内の cwd、base、および path の名前を変更するにはどうすればよいですか?
node.js - Node.Js Through2 - 変更ストリーム
を使用して Node.js ストリームを実験していますthrough2
。index.html ファイルであるストリームがあり、すべての行に a を追加して、index.html の内容を行-------
ごとに変更しようとしています。私は持っている:
私が現在抱えている問題は、配列メソッドthis.push()
内では利用できません。blah.forEach()
index.html ストリームを変更する方法について何か提案はありますか?
node.js - stdin (node.js) からの行またはバッファー全体の読み取り
入力を解析してコンパイルする node.js でインタラクティブなコンソール インターフェイスを開発しています。この目的のために、readline.question を使用しています。
これで、プログラムは、システム シェルから stdin にパイプされた入力を読み取ることもできるようになります。つまり、次のようになります。
入力を解析しますが、readline.question では行ごとに解析します。これにより、別々の行にまたがる一部の入力コードが壊れます。
プログラムの動作を変更して、対話的に使用する場合は (現在のように) 1 行ずつ処理するようにしますが、ファイルをパイプする場合は、ファイル全体を 1 つのチャンクで処理する必要があります。したがって、改行の後にさらにデータが来るかどうかを何らかの方法で確認する必要があります。誰かが私を正しい方向に向けることができますか?
javascript - gulp での vinyl-buffer と gulp-streamify の目的は何ですか?
ドキュメントにあるように、どちらも非ストリーム プラグインをストリームに変換する処理を行っています。
私が理解しようとしているのは、.pipe()
何かでメソッドを使用できる場合、それはストリームではないということですか?
もしそうなら、ここで何を何に変換しますか?
ビニールソースストリームの例:
(から: https://www.npmjs.com/package/vinyl-buffer )