別のアプリケーションの再起動を待っているときにユーザーが表示するhtmlページを作成しました。私は、アプリケーションが200を返すまで、アプリケーションに複数のリクエストを行うjavascriptスクリプトを作成しました。しかし、私がhtmlページを開こうとすると、ブラウザがクラッシュするだけです。誰でも私のコードで何が間違っているのを見ることができます:サーバーが200に戻るまでJavascriptを使用してサーバーに複数のリクエストを送信する
var responseStatus = 404;
var numberOfTries = 0;
var request = new XMLHttpRequest();
while(responseStatus != 200){
console.log("Checking if restart has completed. Attempt number: " + numberOfTries);
request.open('GET', 'applicationurl', true);
request.onreadystatechange = function(){
if (request.readyState === 4){
console.log("Request Status: " + request.status);
responseStatus = request.status;
console.log("Response Status: " + request.status);
if (request.status != 200) {
numberOfTries++;
console.log("Restart has not yet completed! NumberOfTries: " + numberOfTries);
}
}
};
request.send();
}
console.log("Server has successfully restarted");
プット方法、 お使いのブラウザは単にcrasheなぜあなたは継続的にthatsの間、使用してサーバーをヒットしているのsetTimeoutを使用して、あなたのコードの遅延を来ります。 – Veer
コンソールは、最初のログの後に何もログに記録しません。ブラウザがフリーズし、強制的にブラウザを再起動してhtmlページに再度アクセスする必要があります。 – rurounisuikoden
@rurounisergii再び、これはループでこれをやっているからです。 1つが成功するまで何千ものリクエストではないにしても、実際に何百ものものを送ります。それでも、あなたが戻ってくるのを待っておらず、すべてが非同期で送信されているので、あなたが200のバックを取得しても、おそらく数百を送るでしょう。 – vlaz