在我的javascript我定義了一個輪詢器,以便每秒刷新一些內容。其定義如下:JavaScript輪詢不立即啓動
var poller = {
// number of failed requests
failed: 0,
// starting interval - 1 seconds
interval: 1000,
// kicks off the setTimeout
init: function() {
setTimeout(
$.proxy(this.getData, this), // ensures 'this' is the poller obj inside getData, not the window object
this.interval
);
},
// get AJAX data + respond to it
getData: function() {
var self = this;
$.ajax({
url: "api/view",
success: function(response) {
// ....do something....
// recurse on success
self.init();
}
},
error: $.proxy(self.errorHandler, self)
});
},
// handle errors
errorHandler: function() {
if (++this.failed < 10) {
this.interval += 1000;
// recurse
this.init();
}
}
};
poller.init();
});
問題是,它不會在加載頁面時立即啓動。有誰知道原因?提前謝謝了!
*問題是當頁面加載時不會立即啓動* - 當**啓動時**會啓動? –
工作得很好:https://jsfiddle.net/q4rvzv0o/(如果我刪除尾部'});')。自然,'getData'第一次在'init'運行後是1000ms,因爲這就是你所要做的。 –
你需要澄清一下「當頁面加載時它不會立即啓動」。手段。你期望發生什麼,實際發生了什麼,它們有什麼不同,等等。 – pvg