[解決済み] Node.jsのストリームの内容を文字列変数に読み込むにはどうしたらいいですか?
2022-04-20 14:06:04
質問
Nodeのプログラムをハックしているのですが、その中で
smtp-protocol
を使用してSMTPメールをキャプチャし、メールデータで動作します。ライブラリはメールデータをストリームとして提供し、私はそれを文字列に取得する方法を知りません。
現在、stdoutに書いているのは
stream.pipe(process.stdout, { end: false })
しかし、私が言ったように、私は代わりに文字列でストリームのデータが必要で、それはストリームが終了した後に使用することができます。
Node.jsのストリームからすべてのデータを文字列に集めるにはどうしたらいいですか?
どのように解決するのですか?
(この回答は数年前のもので、当時はベストアンサーでした。現在ではこの下にもっと良い答えがあります。私はnode.jsに追いついておらず、この回答は"この質問で正しい"とマークされているため、削除することができません。もし、ダウンクリックを考えているのなら、どうすればいいのでしょうか?)
重要なのは
data
と
end
のイベントが発生します。
読み取り可能なストリーム
. これらのイベントを聴く。
stream.on('data', (chunk) => { ... });
stream.on('end', () => { ... });
を受信すると
data
イベントで、データを収集するために作成されたBufferに新しいデータのチャンクを追加します。
を受信すると
end
イベントにて、完成したBufferを必要に応じて文字列に変換してください。そして、それを使って必要なことを行ってください。
関連
-
vueディレクティブv-bindの使用と注意点
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] OutputStreamを文字列に変換する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
要素ツリー制御によるvueTreeテーブル
-
JSアレイループと効率解析の比較
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
[解決済み】ストリームバッファをutf8-stringに変換する。