setTimeouts を再帰的に使用して setInterval をエミュレートし、それ自体がオーバーランするのを防ぎます。例:
this.poll = function() {
var self = this;
if(self.timeout) {
clearTimeout(self.timeout)
}
self.timeout = setTimeout(function(){
self.request();
}, 1000);
}
self.request();
ajax ロジックと呼び出しが含まれていますthis.poll()
。
this.poll
問題は、が再度呼び出されたときに実際にタイムアウトがクリアされないように見えることです。最終的には大量のリクエストが重なり合ってしまいます。
これを処理するより良い方法はありますか?
ありがとうございました!