この記事では、次のコードがスタックを爆破すると述べています。
function fetchLatest() {
$.getJSON('/wait?id=' + last_seen, function(d) {
$.each(d, function() {
last_seen = parseInt(this.id, 10) + 1;
ul.prepend($('<li></li>').text(this.text));
});
fetchLatest();
});
}
クライアント側のJavaScriptは、jQueryのgetJSONメソッドを使用して、単純なURLエンドポイントに対してロングポーリングを実行するだけです。これを再帰的に実行すると、最終的にブラウザーのJavaScriptスタックが破壊されるため、おそらく悪い考えですが、デモでは問題なく機能します。
これも本当ですか?もしそうなら、どうすればこれを防ぐことができますか?