0
這幾乎是一個基本的Javascript問題,即使它涉及一些Chrome擴展API。Javascript正在等待最後一個事件發生在回調之前繼續
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
//complete may fire multiple times per page update
var timer = 0, interval;
console.log(changeInfo.status);
clearInterval(interval);
interval = setInterval(function() {
if (timer == 5) {
console.log('here');
clearInterval(interval);
}
timer++;
}, 1000);
}
});
我認爲我現在所有的腳本都會延遲一切。我希望它做的是每次發生「完整」狀態時,我想檢查5秒鐘,然後在此處登錄。如果另一個'完成'激發,我想擺脫以前的計時器並開始一個新的計時器。基本上等到所有的'完成'被解僱......我需要幫助修復我的間隔邏輯...
最佳方式使用靜態變量:this.interval = setInterval的(...) –
@stdob但隨後如果他使用setInterval方式,他需要將間隔回調綁定到'this',對吧? – fuyushimoya
爲什麼不如果他不想進入間隔時間?有些像這樣: 'if(typeof this.interval =='undefined')this.interval = null;'@fuyushimoya –