0

node.jsドキュメントによると

response.end([data]、[encoding])

このメソッドは、すべての応答ヘッダーと本文が送信されたことをサーバーに通知します。そのサーバーは、このメッセージが完了したと見なす必要があります。メソッドresponse.end()は、各応答で呼び出されなければなりません(MUST)。

しかし、を使用して与えられた多くの例ではcreateReadStream、例えば、

 fs.createReadStream(filename,{...}).pipe(response)
私はresponse.end()呼ばれるのを見たことがない。

それresonse.end()createReadStream()?もしそうなら、それはプログラムフローのどこに表示されますか?パイプが終了するまで呼び出されたくないでしょう?

4

1 に答える 1

2

response.end()読み取りが終了した後 (endイベント )、またはエラーが発生した場合( イベント ) に実行しerrorます。

この例を確認してください: http://elegantcode.com/2011/04/06/taking-baby-steps-with-node-js-pumping-data-between-streams/

于 2012-10-04T08:40:49.620 に答える