1

Node js では、投稿データがチャンクで到着する可能性があるため、POST リクエストを慎重に処理する必要があることを読みました。したがって、次のように連結して処理する必要があります。

function handleRequest(request, response) {
    if (request.method == 'POST') {
        var body = '';
        request.on('data', function (data) {
            body += data;
        });
        request.on('end', function () {
            //data is complete here
        });
    }
}

私が理解できないのは、このコード スニペットが複数のクライアントを同時に処理する方法です。2 つの別々のクライアントが大きな POST データのアップロードを開始したとします。それらは同じボディに追加され、データが混同されます...

それとも、これを処理するフレームワークですか? body 変数で混同されないように、handleRequest 関数のさまざまなインスタンスをトリガーしますか?

ありがとう。

4

1 に答える 1

0

メソッドの署名を考えると、それはrequest イベントrequest, responseのリスナーのようです。

それが正しいと仮定すると、このイベントはすべての新しいリクエストに対して発行されるため、body(現在の例のように) そのハンドラーに固有のオブジェクトに新しいデータを連結するだけであれば、問題ありません。

于 2013-03-28T13:25:51.330 に答える