2016-11-01 8 views
1

JavaScriptがJSON配列を取得するajax呼び出しを行います。それ以降のHTTPリクエスト

長時間実行しているHTTP REST呼び出し要求をシミュレートしようとしていますが、結果が返されるまでに時間がかかります。

私のやり方は、リクエストが着信してから5分が経過するまで、サーバ側のレスポンスオブジェクトに何かを書き込むことです。その後、ステータスを200に設定し、ストリームを終了するJSONでレスポンスを書き込みます。

サービス側にブレークポイントを設定するリクエストが2回目に表示されるが、ブラウザの[ネットワーク]タブに別のリクエストが行われていないことがわかりました。

これは関係ないかもしれませんが、私はbrowsersync middlewarsを使用してこのJSONを提供し、バイトを書き込み、setTimeout()で応答を終了します。

setTimeout(()=> { 
    res.statusCode = 200; 
    res.write(data); 
    res.end(); 
}); 

質問:

誰でも、なぜこれが起こっているのように任意の説明を持っていますか?そして、別の方法でこれをシミュレートする方法があれば?

+0

IreがREQオブジェクトの両方がまったく同じですのネットワーク部にクロムスロットリングオプションを使用する際に役立つかもしれない> =細部へのリンクですか? –

+0

'両方のreqオブジェクトは同じですか? '同じURLで、同じブラウザから来ています。 – bhantol

+0

すべてが同じであることを確認してください –

答えて

1

応答前に接続が閉じられると、ブラウザは再試行する必要があります。これは

HTTP spec Client Behavior if Server Prematurely Closes Connectionはところでそれはあなたが開発ツール(F12)

+0

ChromeとInternet Explorerが保留中を示しています。 – bhantol

+0

[ネットワーク]タブに[保留中]が表示されているため、接続が閉じられません。 – bhantol

+0

接続が異なります。 – bhantol

関連する問題