2

これは本の例です:「Professional Node.js」。タイムスタンプを毎秒 3 秒間出力する必要があります。しかし、 res.end() が呼び出される前に何も表示されません: (すべてが画面に表示される前に、3 秒の間にページが読み込まれます...)

require('http').createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    var left = 3;
    var interval = setInterval(function () {
        res.write(Date.now() + " ");

        left -= 1;
        if (left === 0) {
            clearInterval(interval);
            res.end();
        }
    }, 1000);
}).listen(4000);

あなたも同じですか?

[編集:]チャンク転送エンコーディングで応答する このシンプルな Node.js サーバーを見つけましたが、それも機能しません... (すべてが end() 呼び出し ~5s の後に表示されます)

4

1 に答える 1

0

私にとってはうまくいきます。したがって、これをどのようにテストするかによって異なります。ブラウザ、カールなどはバッファリングするからです。

GET / HTTP/1.1

HTTP/1.1 200 OK
Content-Type: text/plain
Date: Fri, 27 Sep 2013 11:21:22 GMT
Connection: keep-alive
Transfer-Encoding: chunked

e
1380280883375 
e
1380280884378 
e
1380280885380 
0
于 2013-09-27T11:23:08.357 に答える